Opencv 颜色空间处理(Color space processing)

来源:互联网 发布:手机怎么修改mac地址 编辑:程序博客网 时间:2024/05/29 04:21

颜色空间简介:

计算机领域对色彩的一种量化说明,主要有RGB,CMY,HSV,HSI等。


实际的图像处理过程中常常涉及二值化、色彩饱和度等需求,需要记性颜色空间的转换。


用到Opencv API:

cvtColor(InputArray src, OutputArray dst, int code, int dcn=0)

第一个参数为输入图像,第二个参数为输出图像,第三个参数为转换类型,第四个参数为指定输出图像的通道数,默认值为0,即与src的通道数一致。


需要注意的地方:

1、Opencv默认颜色空间为BGR,即蓝绿红。Opencv的大多数API都是基于此颜色模型。

故安卓bitmap读取的png图片(基于RGBA颜色空间)转换为Mat结构后,需要调用如下函数转为Opencv的标准 :

Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGBA2BGR);

2、图像位深度较大的图片,使用此API转换图像,有可能丢失图像信息,需要特殊处理。


3、主要用到的图像空间转换类型(即ColorConversionCodes枚举类型)有:(注意BRG转换后不能直接使用imwrite等函数直接处理图像,因为Opencv大多数函数都是基于BGR颜色空间的)

COLOR_BGR2BGRA  3通道转4通道

COLOR_BGRA2BGR 4通道转3通道

COLOR_BGR2GRAY 3通道转灰度图

COLOR_BGR2HSV RGB颜色空间转HSV颜色空间

0 0
原创粉丝点击