gpt4 book ai didi

python - 如何使用OpenCV识别空矩形

转载 作者:行者123 更新时间:2023-12-02 17:06:36 26 4
gpt4 key购买 nike

问题陈述:

我必须确定图像中的哪个框为空以及图像中的哪个框已填充(此处数字和颜色表示该框已填充)
https://photos.app.goo.gl/FpaShWVL1RV7z1Gt8

应用查找轮廓后(外部)
我把外面的21个盒子分开了

https://photos.app.goo.gl/12DGPy3iAYgPUMZ39

从图像中分离出盒子之后

https://photos.app.goo.gl/NQVmA5pAWufSReVD8

现在的问题是如何识别哪个盒子是空的,哪个盒子是填充的。

提前致谢。

最佳答案

如果您在问题中共享您的代码,这将非常有帮助,因为我们可以对其进行修改以回答您的问题。

无论如何,利用我从问题中获得的大量信息,我看到您已经使用findContour完成了大部分工作。要将空盒子与填充盒子分开,请使用countNonZero函数。

您可以将每个矩形馈入该函数,它将返回输入中的总非零像素。由于白色区域被认为是空白的,因此较高的分数将对应于空白的矩形。您可以通过将countZero结果除以框区域来归一化结果,以得到0〜1的结果。这将使阈值削减的决定更加简单。

这是一个示例代码:

x,y,w,h = contour_box[i]
total_white = cv2.countNonZero(img_Src[y:y+h,x:x+w])
ratio = total_white / float(w*h)

# if the white pixel count is 80% of box size, box is empty
if ratio > 0.8 :
box_is_empty = True

关于python - 如何使用OpenCV识别空矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53708797/

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