<p>您可以尝试使用HSV colormap进行图像分割。你知道吗</p>
<p>代码:</p>
<pre><code>img = cv2.imread('leaf.jpg')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# find the green color
mask_green = cv2.inRange(hsv, (36,0,0), (86,255,255))
# find the brown color
mask_brown = cv2.inRange(hsv, (8, 60, 20), (30, 255, 200))
# find the yellow color in the leaf
mask_yellow = cv2.inRange(hsv, (21, 39, 64), (40, 255, 255))
# find any of the three colors(green or brown or yellow) in the image
mask = cv2.bitwise_or(mask_green, mask_brown)
mask = cv2.bitwise_or(mask, mask_yellow)
# Bitwise-AND mask and original image
res = cv2.bitwise_and(img,img, mask= mask)
cv2.imshow("original", img)
cv2.imshow("final image", res)
cv2.waitKey(0)
cv2.destroyAllWindows()
</code></pre>
<p>输出:</p>
<p><a href="https://i.stack.imgur.com/dXU7b.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/dXU7b.png" alt="enter image description here"/></a><a href="https://i.stack.imgur.com/bfrcn.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bfrcn.png" alt="enter image description here"/></a></p>
<p>此外,如果将黄色的较低范围从<code>(21, 39, 64)</code>更改为<code>(14, 39, 64)</code>,则会看到叶上出现的小黑点开始填充,并将进一步改善结果。你知道吗</p>