开启一个研究牲的C++图像之路。
openCV是计算机视觉的开源库,主要算法涉及图像处理和机器学习相关方法。
加载图像可以分为两步:
代码如下(示例):
// 创建一个Mat对象 src
Mat src;
// 读取图片
src = imread("./1.png");
// 判断图片是否存在,不存在则结束程序
if (!src.data) {
printf("could not load image...\n");
return -1;
}
// 创建一个窗口展示图像
namedWindow("input image", WINDOW_AUTOSIZE);
// 显示图像
imshow("input image", src);
// 键盘键入退出
waitKey(0);
return 0;
修改图像一般使用cvtColor把图像从一个彩色空间转换到另一个彩色空间。
代码如下(示例):
// 创建一个Mat对象 src
Mat src;
// 读取图片
src = imread("./1.png");
// 判断图片是否存在,不存在则结束程序
if (!src.data) {
printf("could not load image...\n");
return -1;
}
//创建一个图像img2
Mat img2;
//图像类型转换,RGB→灰度图,通道数由3到1
//其中src表示输入图像,img2表示输出图像,COLOR_BGR2GRAY表示将图像从RGB图像转为GRAY灰度图
cvtColor(src, img2, COLOR_BGR2GRAY);
// 创建一个窗口展示图像(这个步骤可以省略)
namedWindow("input image", WINDOW_AUTOSIZE);
// 显示图像
imshow("input image", img2);
// 键盘键入退出
waitKey(0);
return 0;
保存图像操作一般使用imwrite写入图像
代码如下(示例):
// 创建一个Mat对象 src
Mat src;
// 读取图片
src = imread("./1.png");
// 判断图片是否存在,不存在则结束程序
if (!src.data) {
printf("could not load image...\n");
return -1;
}
// 显示图像
imshow("input image", src);
// 保存图像(这里使用相对路径)
imwrite("./output_img.png", src);
// 键盘键入退出
waitKey(0);
return 0;
以上就是今天学习的内容啦,知识+1。