目标
1. 对图像进行颜色空间转换,如从BGR到灰度图,或者从BGR到HSV等。
2. 创建程序从一副图像中获取某个特定颜色的物体。
0x01. 转换颜色空间
常用操作:BGR<->Gray和BGR<->HSV。
OpenCV中提供了cv2.cvtColor(input_image,flag),其中flag为转换类型。
BGR<->Gray :cv2.COLOR_BGR2GRAY
BGR<->HSV:cv2.COLOR_BGR2HSV
例子:
import cv2
import numpy as np
img=cv2.imread('test.jpg',cv2.IMREAD_COLOR)
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.imshow("img",img)
cv2.imshow("hsv",hsv)
cv2.waitKey(0)
cv2.destroyAllWindows()
注意:在OpenCV的HSV格式中,H(色彩/色度)的取值范围是[0,179],S(饱和度)的取值范围[0,255],V(亮度)的取值范围[0,255]。但是不同的软件使用值可能不同,所以在拿OpenCV的HSV值与其他软件的HSV值进行对比时,一定要归一化。
0x02. 物体跟踪
在HSV颜色空间中比在BGR空间中更容易表示某一个特定颜色。在下面程序中,提取了是图像中所有绿色的物体,一般要经过几步

本文介绍如何使用Python的OpenCV库进行颜色空间转换,如BGR到灰度图或HSV,并讲解物体跟踪的基本步骤,特别是利用HSV空间识别特定颜色(如绿色)物体的方法。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



