如何从python中的图像中计算花朵(黄色)的数量

2024-09-27 00:19:20 发布

您现在位置:Python中文网/ 问答频道 /正文

enter image description here我是python的新手。我试着提取花朵(可能不太准确),但我需要:(1)。能够计算提取了多少特征。(2) 图像中显示为淡黄色但不是我想要的对象的其他对象。谢谢你的帮助

下面是我目前的代码

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread("female29.jpg")
image = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
image2 = cv2.cvtColor(image, cv2.COLOR_RGB2HSV)

yellow = (204, 204, 0)
light_yellow = (255, 255, 204)

mask = cv2.inRange(image, yellow, light_yellow)
result = cv2.bitwise_and(image, image, mask=mask)
cv2.imshow("image", result)
cv2.waitKey(0)

Tags: 对象imageimportimgasmask特征result
1条回答
网友
1楼 · 发布于 2024-09-27 00:19:20

遗憾的是,仅仅使用opencv并没有简单的方法来计算出现的花的数量,因为上面的代码所做的只是高亮显示或将遮罩应用到图像中像素值在您提供的范围内的部分

yellow = (204, 204, 0)
light_yellow = (255, 255, 204)

您可以尝试更改范围的不同值,以更准确地遮罩花朵 可能使用联机HSV color picker来调整值(请记住,必须将值从0-100缩放到0-255)

您只能尝试调整这些值,以防止图像中的其他对象显示为淡黄色,但在一天结束时,您只需应用颜色过滤器,所有黄色的对象都会显示出来,除非您使用更高的方法(如机器学习)来识别花,否则无法停止

相关问题 更多 >

    热门问题