只取轮廓面积足够大的那个连通域
我处理得到了下图这样的结果,思路就是转为HSV色域下,进行二值化处理,再形态学开运算。
源码如下:
import cv2
import numpy as np
src = cv2.imread("./1.png") #读取图片
hsv = cv2.cvtColor(src, cv2.COLOR_BGR2HSV) #转换到HSV色域
lower_thr = np.array([0, 0, 90]) #hsv三通道最低值
upper_thr = np.array([10, 10, 150]) ##hsv三通道最高值
res = cv2.inRange(hsv, lower_thr, upper_thr) #二值化:在两个阈值内的像素置为255,其余像素为0
kernel = np.ones((3, 3), np.uint8)
res = cv2.morphologyEx(res, cv2.MORPH_OPEN, kernel, anchor=(2, 0), iterations=2) #形态学开运算
cv2.imshow("show",res)
cv2.imwrite("res.jpg",res)
cv2.waitKey(0)