购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4-1 BGR与RGB色彩空间的转换

本书2-3节讲解了RGB色彩空间,2-4节讲解了BGR色彩空间。这一节将讲解如何将BGR色彩空间的图像转换成RGB色彩空间,这个色彩的转换称为 色彩空间类型转换 ,从第2章使用默认的imread( )函数读取图像文件时,所获得的是BGR色彩空间图像。OpenCV提供下列转换函数,可以将BGR图像转换成其他图像。

     image = cv2.cvtColor(src, code)

上述函数的返回值 image 是一个转换结果的图像对象,也可以称为 目标图像 ,其他参数说明如下:

src :要转换的图像对象。

code :色彩空间转换具名参数,下表所列是常见的具名参数。

:理论上色彩空间转换是双向的,但是灰度(GRAY)色彩已经没有Blue、Green和Red颜色比例,所以灰度色彩转换成BGR色彩,结果颜色仍是灰度。不过对于BGR色彩的图像,其通道值将是含3个元素的一维数组,读者可以参考ch4_2.py的执行结果。

程序实例 ch4_1.py: 读取彩色图像view.jpg,然后将此图像转换成RGB图像。

执行结果

从上述执行结果可以看出,BGR色彩可以得到原图像,RGB色彩则呈现浅蓝色效果。BGR图像与RGB图像可以互转,参考下列实例。

程序实例 ch4_2.py: 继续ch4_1.py将RGB图像转换为BGR图像。

执行结果

在色彩空间具名转换参数表可以看到 COLOR_RGB2BGR 列的域值是 =COLOR_BGR2RGB ,可以使用ch4_3.py做试验测试。

程序实例 ch4_3.py: 重新设计ch4_2.py,将第8行的“ COLOR_RGB2BGR ”参数改为“ COLOR_BGR2RGB ”。

执行结果 与ch4_2.py相同。 E+hv5+6ntgaMafgVlyA03OZ/epnGwYAfui0hAph6hODmG7q/KxGdAC6q3FYnsHFK

点击中间区域
呼出菜单
上一章
目录
下一章
×