【OpenCV+Cpp】day01加载、修改和保存图像

发布时间:2024年01月04日

【OpenCV+Cpp】day01加载、修改和保存图像



前言

开启一个研究牲的C++图像之路。
openCV是计算机视觉的开源库,主要算法涉及图像处理和机器学习相关方法。


一、加载图像

加载图像可以分为两步:

  1. 创建一个Mat对象保存需要加载的图像;
  2. 使用imread函数从文件中加载。

代码如下(示例):

	// 创建一个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。

文章来源:https://blog.csdn.net/hiconsistent/article/details/135368473
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。