HSV空间中的H通道是Hue,它对光线变化不敏感 . 红色范围约为[150,180] .
根据提到的信息,我做了以下工作 .
切换到HSV空间,拆分H通道,阈值并将其标准化 .
应用变形操作(打开)
查找轮廓,按某些属性(宽度,高度,面积,比率等)进行过滤 .
PS . 由于NETWORK,我无法获取您在Dropbox上传的图像 . 所以,我只使用crop the right side of your second image作为输入 .
imgname = "src.png"
img = cv2.imread(imgname)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
## Split the H channel in HSV, and get the red range
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h,s,v = cv2.split(hsv)
h[h<150]=0
h[h>180]=0
## normalize, do the open-morp-op
normed = cv2.normalize(h, None, 0, 255, cv2.NORM_MINMAX, cv2.CV