这几天在学习opencv_python时遇到不知如何确定图片要跟踪物体HSV范围的情况,几经查找和总结,终于找到了相对精确的办法。
思路如下:先确定图片中物体的HSV值,然后创建HSV进度条(H、S、V最大最小值共6条进度条),通过调节进度条,确定HSV范围。
一、用如下方法确定想要颜色的HSV值,比如蓝色。
import cv2
import numpy as np
blue = np.uint8([[[255,0,0]]])
hsv_blue = cv.cvtColor(blue, cv.COLOR_BGR2HSV)
print(hsv_blue)
#输出结果为: [[[ 120 255 255]]]
二、创建一个HSV上下阈值的六个进度条(h_min,h_max,s_min,s_max,v_min,v_max)并输出原图、掩模图、效果图。
import cv2
import numpy as np
import time
def nothing(x):
pass
cv2.namedWindow('image',cv2.WINDOW_AUTOSIZE)
blue = np.uint8([[[255,0,0]]])
hsv_blue = cv2.cvtColor(blue,cv2.COLOR_BGR2HSV)
print(hsv_blue)
cv2.createTrackbar('Hue min','image',10,179,nothing)
cv2.createTrackbar('Hue max','image',10,179,nothing)
cv2.createTrackbar('sat min','image',10,255,nothing)
cv2.createTrackba