📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
色彩空间转换
1.色彩空间转换函数- cvtColor
COLOR_ BGR2GRAY = 6彩色到灰度 COLOR_ GRAY2BGR = 8灰度到彩色 COLOR_ BGR2HSV = 40 BGR到HSV COLOR_ HSV2BGR = 54 HSV到BGR
2.图像保存- imwrite函数
第一个参数是图像保存路径
第二个参数是图像内存对象
opencv4.1教学版本
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
//加载图像
int main(int argc, char** argv) {
Mat src = imread("D:/images/test.png");
//如果打开的是空图像,则退出。
if (src.empty() ){
printf("could not load image...\n");
return -1;
}
//创建窗口和显示第一个图像
namedWindow("input1", WINDOW_AUTOSIZE);
imshow("input1", src);
//创建窗口和显示第二个图像-转换为HSV空间
namedWindow("input2", WINDOW_AUTOSIZE);
Mat src2;
cvtColor(src, src2, COLOR_RGB2HSV);
imshow("input2", src2);
//创建窗口和显示第三个图像-转换为灰度图像
namedWindow("input3", WINDOW_AUTOSIZE);
Mat src3;
cvtColor(src, src3, COLOR_RGB2GRAY);
imshow("input3", src3);
//保存灰度图像在D盘中,名称为“灰度图像”,格式为tif
imwrite("D:/灰度图像.tif", src3);
waitKey(0);
destroyAllWindows;
return 0;
}
opencv4.4教学版本
图像色彩空间转换步骤
1.创建头文件
命名为quickopencv
输入:
#include<opencv2\opencv.hpp>
using namespace cv;
class QuickDemo {
public:
void colorspace_demo(Mat&image);
};
2.创建cpp文件
命名为quickdemo
输入:
#include<quickopencv.h>
void QuickDemo::colorSpace_demo(Mat&image) {
Mat gray, hsv;
cvtColor(image, hsv, COLOR_BGR2HSV);
cvtColor(image, gray, COLOR_BGR2GRAY);
imshow("HSV", hsv);
imshow("灰度", gray);
imwrite("D:/imwrite/hsv.png", hsv);
imwrite("D:/imwrite/gray.png", gray);
}
保存在D盘的imwrite文件夹中。
添加包含目录,即quickopencv文件所在目录,这样头文件才能被检索到,也就生效了。
最后开始执行(不调试),成功显示HSV和灰度图。