我正在尝试在youtube教程中看到的代码(我在上面的Github链接中指定了它)。我看到有两个蒙版应用,但我尝试了几个RGB值,我仍然不能得到更亮的绿色像素(暴露在更多光线下)。我想知道我的代码应该应用哪些掩码,如何在任何给定的颜色提取中判断哪一个是好的。
image_blur = cv2.GaussianBlur(image, (7, 7), 0)
#t unlike RGB, HSV separates luma, or the image intensity, from
# chroma or the color information.
#just want to focus on color, segmentation
image_blur_hsv = cv2.cvtColor(image_blur, cv2.COLOR_RGB2HSV)
# Filter by colour
# 0-10 hue
#minimum red amount, max red amount
min_green = np.array([36, 0, 0])
max_green = np.array([70, 255,255])
#layer
mask1 = cv2.inRange(image_blur_hsv, min_green, max_green)
#birghtness of a color is hue
# 170-180 hue
min_green2 = np.array([188,0,0])
max_green2 = np.array([208,243,139])
mask2 = cv2.inRange(image_blur_hsv, min_green2, max_green2)
#looking for what is in both ranges
# Combine masks
mask = mask1 + mask2
这是我到Github的链接,您可以在其中找到图片和整个代码: https://github.com/andreyy03/PlantsRecognition
谢谢!
答案 0 :(得分:0)
你只是尝试过“完美过滤器”之类的东西。几个月前我已经制作了一个工具来做到这一点。虽然我很确定那里有更好的,但this可以做到这一点,并帮助你选择范围/ s。当然它并不完美。希望它有所帮助。
您可以像python tool.py name_of_your_image.jpg
一样使用它,也可以在安全python tool.py path/to/your/secuence
中使用它,尽管您必须在第二种形式中稍微使用代码。