OpenCV学习笔记3
常见色彩空间
RGB
HSV
HIS
YCrCb
YUV
色彩空间的转换
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)#转换为灰度图
hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)#RGB转HSV
yuv = cv.cvtColor(image, cv.COLOR_BGR2YUV)#RGB转YUV
Ycrcb = cv.cvtColor(image, cv.COLOR_BGR2YCrCb)#RGB转YCrCb
使用色彩空间转换图对指定颜色的提取
def extrace_object_demo():
capture = cv.VideoCapture("C:/Users/SYJC/Desktop/test/VID_20210310_152800.mp4")
while(True):
ret, frame = capture.read()
if ret == False:
break;
hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV)
lower_hsv = np.array([35, 43, 46])#绿色的低3位
upper_hsv = np.array([77, 255, 255])#绿色的高3位
mask = cv.inRange(hsv, lowerb=lower_hsv, upperb=upper_hsv)
dst = cv.bitwise_and(frame, frame, mask=mask)
cv.imshow("video", frame)
cv.imshow("mask", dst)
c = cv.waitKey(40)
if c == 27:
break
图像通道分离与合并
b, g, r = cv.split(src)#将图片分割为3个通道
src = cv.merge([b, g, r])#将三个通道的图片合并