当前位置: 首页 > 工具软件 > CImg > 使用案例 >

CImg学习入门-图像读入显示与基础处理

燕英奕
2023-12-01

其他的资料网上都比较齐全,这里不一一描述。


这里我完成了一个读入图片并显示,改变某部分像素颜色,在图上画圆的功能。

// 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;
}



 类似资料: