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

本文介绍了如何使用OpenCV库在C++中进行图像的加载、基本修改(如颜色空间转换)以及保存操作,包括Mat对象的创建和imread、cvtColor、imshow和imwrite函数的运用。
摘要由CSDN通过智能技术生成

【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。

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值