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

    cvtColor-色彩空间进行转换

    imwrite-图片保存

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

CV_<bit_depth>(S|U|F)C<number_of_channels>

  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<number_of_channels>----代表---一张图片的通道数,比如:

  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;

运行

 保存成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值