OpenCV-Python
图链接:https://pan.quark.cn/s/2b31ac50f685
第二个图
图链接:https://pan.quark.cn/s/4446377f1b85
寻找那个最明显的绿色轮廓
我的解答思路和尝试过的方法
import cv2
hgy = cv2.imread("C:/Users/cxryj/Pictures/hgy.png")
# cv2.imshow("hgy", hgy)
hgy_gray = cv2.cvtColor(hgy, cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(hgy_gray, 127, 255, cv2.THRESH_BINARY)
_, contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
hgy_copy = hgy.copy()
hgy_gray_copy = hgy_gray.copy()
cv2.drawContours(hgy_copy, contours, -1, (255, 0, 0), 3)
cv2.imwrite("C:/Users/cxryj/Pictures/res.png", hgy_copy)
cv2.waitKey(0)
cv2.destroyAllWindows()
这个我设置成找到的轮廓标记为蓝色,但是包含了一大堆轮廓
我想要达到的结果
各位老哥,如何使用OpenCV在Python下找出这个最大的绿色轮廓,是纯绿【BGR(0,255,0)】的,或者如果找不出来,我可以换这个轮廓的颜色,最好在现在这个颜色下能实现。
找到这个轮廓内的图像,然后去掉轮廓外面的部分,就处理轮廓以内的部分,这部分可以用掩膜操作解决。
感谢