本小节代码在配套资料“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程
\04_OpenCV 开发配套资料\05”目录下,如下图所示:
cv2.cvtColor()函数功能:
将一幅图像从一个色彩空间转换到另一个色彩空间。
函数原型:
cv2.cvtColor(src,code,dst=None,dstCn=None)
参数定义:
src:要转换的源文件
code,转换的色彩空间,在 opencv 中有超过 150 种颜色空间转换方法,但是经常用的只有
BGR-灰度图和 BGR-HSV
BGR 和灰度图的转换使用 cv2.COLOR_BGR2GRAY 参数
BGR 和 HSV 的转换使用 cv2.COLOR_BGR2HSV 参数
实验:
实验要求:
对一张彩色图像使用 cvtColor()函数转换为灰度图和 HSV,并使用 imshow()函数进行展示。
实验步骤:
首先进入到 ubuntu 的终端界面将“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教
程\04_OpenCV 开发配套资料\05”路径下的 lena.png 文件拷贝到 ubuntu 虚拟机上,拷贝完成如
下图所示:
输入以下命令来创建 demo05_cvtColor.py 文件,如下图所示:
vim demo05_cvtColor.py
然后向该文件中添加以下内容:
1 import cv2 #opencv 的缩写为 cv2,导入 opencv
2 img = cv2.imread("lena.png") #使用 imread 函数读取名为 lena.png 的图片
3 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 读取的图片转换成黑白的
4 hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 读取的图片转换成 HSV
5 cv2.imshow('gray',gray) #使用 imshow 函数将转换之后的图片进行转换
6 cv2.imshow('hsv',hsv)
7 cv2.destroyAllWindows() # 关闭窗口,清除程序所占用的内存
8 cv2.waitKey(0) #等待按键的按下
第 1 行导入了 opencv;
第 2 行使用 imread 函数读取名为 lena.png 的图片;
第 3 行使用了 cvtColor 函数将读取的图片转换成灰度图
第 4 行使用了 cvtColor 函数将读取的图片转换成 HSV
第 5 行和第 6 行使用 imshow()函数对转换的图像进行展示;
第 7 行使用了 waitKey()函数,持续显示展示照片直到按键的按下。
保存退出之后,在终端界面中输入以下命令进行 python 代码的运行,运行结果如下图所示:
python demo05_cvtColor.py
可以看到原本的彩色图片已经转变为了灰度图和 HSV,至此颜色转换实验就完成了。