gpt4 book ai didi

python - OpenCV Python 计数像素

转载 作者:太空狗 更新时间:2023-10-30 02:16:08 24 4
gpt4 key购买 nike

我正在处理一个应用 OpenCV 的小项目,但我遇到了一些我不知道如何实现的问题。假设我有一张图片 (1024x768)。在此图像的中心有一个红色边界框。

是否可以使用 OpenCS 计算红色框内的像素?假定图像的尺寸为 1024x768

我尝试通过对红色进行阈值处理来使用边界矩形,并尝试使用 convexhull 但后来我无法提取红色标记内有多少像素。

最佳答案

这很简单。很明显,内部灰色和外部颜色不同。只是阈值图像。

ret,thresh=cv2.threshold(img,133,255,cv2.THRESH_BINARY_INV)

然后使用:

cv2.countNonZero(your_thresh_img)

这将为您提供白色像素的数量,这是您需要的数量。在您的图片中,它是 183920 像素。

编辑

import numpy as np
import cv2

img=cv2.imread("your_image.png",0)

def nothing(x):
pass

cv2.namedWindow('image')

cv2.createTrackbar('min','image',0,255,nothing)
cv2.createTrackbar('max','image',0,255,nothing)

while(1):

a = cv2.getTrackbarPos('min','image')
b = cv2.getTrackbarPos('max','image')
ret,thresh=cv2.threshold(img,a,b,cv2.THRESH_BINARY_INV)
cv2.imshow("output",thresh)
k = cv2.waitKey(10) & 0xFF
if k == 27:
break
print cv2.countNonZero(thresh)
cv2.destroyAllWindows()

关于python - OpenCV Python 计数像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45836214/

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