gpt4 book ai didi

python - 我正在尝试使用OpenCV和Python在图像中显示红色百分比

转载 作者:行者123 更新时间:2023-12-02 17:10:39 24 4
gpt4 key购买 nike

我对OpenCV和Python还是相当陌生,我正在尝试计算红色像素的数量并将其显示为百分比。但是,即使图片中有很多红色,它仍会显示0%。有人可以帮我吗?

这就是我到目前为止

import cv2
import numpy as np

img = cv2.imread('roi.jpg')
size = img.size


RED_MIN = np.array([0,0,128], np.uint8)
RED_MAX = np.array([250, 250, 255], np.uint8)


dstr = cv2.inRange(img, RED_MIN, RED_MAX)
no_red = cv2.countNonZero(dstr)
frac_red = np.divide((int(no_red)),(int(size)))
percent_red = np.multiply((int(frac_red)), 100)
print('Red: ' + str(percent_red) + '%')

最佳答案

该错误似乎在frac_red = np.divide((int(no_red)),(int(size)))中,因为您在将两个操作数都传递给int之前已将两个操作数显式转换为np.divide(),如果两个操作数都为int,则也将返回一个int,要获得精确的十进制百分比,您需要传递一个或两者都作为float:

frac_red = np.divide(float(no_red), int(size))
# Your current Scenario
In [5]: np.divide(3, 8)
Out[5]: 0

# Expected Scenario
In [7]: np.divide(3.0, 8)
Out[7]: 0.375

关于python - 我正在尝试使用OpenCV和Python在图像中显示红色百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42570194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com