【Opencv&Cpp】02 第一次处理图片:图像色彩空间转换、保存

    cvtColor-色彩空间进行转换

    imwrite-图片保存

opencv 提供了cvtColor()函数,用于在图像中不同的色彩空间进行转换,用于后续处理。在使用cvtColor之前首先需要了解下基本的图像色彩模式,色彩模式决定了打印或显示的图片颜色。

CV_(S|U|F)C

  1. 1--bit_depth---比特数---代表8bite,16bites,32bites,64bites---举个例子吧--比如说,如

  2. 如果你现在创建了一个存储--灰度图片的Mat对象,这个图像的大小为宽100,高100,那么,现在这张

  3. 灰度图片中有10000个像素点,它每一个像素点在内存空间所占的空间大小是8bite,8位--所以它对

  4. 应的就是CV_8

  5. 2--S|U|F--S--代表---signed int---有符号整形

  6. U--代表--unsigned int--无符号整形

  7. F--代表--float---------单精度浮点型

  8. 3--C----代表---一张图片的通道数,比如:

  9. 1--灰度图片--grayImg---是--单通道图像

  10. 2--RGB彩色图像---------是--3通道图像

  11. 3--带Alph通道的RGB图像--是--4通道图像

定义一个头文件:(以后还有很多function、可以全放此类中)

class QuickDemo {
public:
	void colorSpace_Demo(Mat& image);  //色彩空间转换
}

调用函数如下:

void QuickDemo::colorSpace_Demo(Mat& image) {

	Mat gray, hsv; //定义两个Mat

	cvtColor(image, hsv, COLOR_BGR2HSV);  //HSV	
	cvtColor(image, gray, COLOR_BGR2GRAY);  //GRAY
  
	imshow("HSV", hsv);
	imshow("灰度", gray);

	//保存
	imwrite("E:/opencv452/in_img/hsv.png", hsv);
	imwrite("E:/opencv452/in_img/gray.png", gray);
}

MAIN

Mat src = imread("E:/opencv452/img/1.jpg");

	QuickDemo demo;  //定义类函数
	
	demo.colorSpace_Demo(src);	//调用public类里的colorSpace_Demo函数



	waitKey();  //延时函数
	destroyAllWindows();  //关闭窗口:关闭窗口、取消分配任何相关的内存使用
	return 0;

运行

【Opencv&Cpp】02 第一次处理图片:图像色彩空间转换、保存_第1张图片

 保存成功【Opencv&Cpp】02 第一次处理图片:图像色彩空间转换、保存_第2张图片

你可能感兴趣的:(opencv学习,opencv,计算机视觉,图像识别,c++)