1. 程式人生 > >CImg學習入門-影象讀入顯示與基礎處理

CImg學習入門-影象讀入顯示與基礎處理

其他的資料網上都比較齊全,這裡不一一描述。

這裡我完成了一個讀入圖片並顯示,改變某部分畫素顏色,在圖上畫圓的功能。

// homework1.cpp : 定義控制檯應用程式的入口點。
//

#include "stdafx.h"
#include "CImg.h"
#include <iostream>
using namespace std;
using namespace cimg_library;

CImg<unsigned char> hw2(CImg<unsigned char> src) {
	int width = src.width();
	int height = src.height();
	cout << width << "x" << height << endl;
	for (int r = 0; r < height; r++) {
		for (int c = 0; c < width; c++) {
			if ((int)src(c, r, 0, 0) <= 255 && (int)src(c, r, 0, 0) >= 150) {
				src(c, r, 0, 1) = 0;
				src(c, r, 0, 2) = 0;
			}

			if ((int)src(c, r, 0, 0) == 0) {
				src(c, r, 0, 1) = 255;
			}
		}
	}
	return src;
}

CImg<unsigned char> hw3(CImg<unsigned char> src) {
	unsigned char blue[] = { 0, 0, 255 };
	src.draw_circle(50, 50, 30, blue);
	return src;
}

CImg<unsigned char> hw4(CImg<unsigned char> src) {
	unsigned char yellow[] = { 255, 255, 0 };
	src.draw_circle(50, 50, 30, yellow);
	return src;
}


int main() {
	CImg<unsigned char> src("1.bmp"); //新建一個物件image,讀入圖片1.bmp 這裡由於我把專案程式碼和圖片放在同一資料夾下
	src = hw4(src);  //通過更改hw後數字獲得對應作業要求函式 2-4
	src.display();
	while (true){} //可能因為環境問題配置,使用main_disp.isClosed函式配置不成功,為了展示圖片直到關閉視窗,這裡直接進入永恆迴圈
	return 0;
}