繁体   English   中英

如何找到填充的矩形

[英]How to find filled rectangles

我正在尝试找到一些步骤来确定使用 OpenCV 以下矩形填充深灰色并具有白色边框。 图像背景为黑色。 文字无所谓。

到目前为止我尝试过的是:模糊,转换为灰度,otsu 阈值,最后是 findContours。 之后,我使用 arcLength 和 aproxPolyDP 和 boundingRect 来查找框,但我只找到它被归类为填充的外框。 我还需要找到轮廓的颜色。

这是我使用的图像:

图片

我尝试了connectedcommponects ,它给出了所需的output。

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

img = cv2.imread("/content/4RihR.png")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, img_bin = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)
cv2_imshow("pre_processed", img_bin)
img_bin_bk = ~img_bin
_, labels, stats, _ = cv2.connectedComponentsWithStats(img_bin_bk, connectivity=4, ltype=cv2.CV_32S)
for x, y, w, h, area in stats[2:]:
  print(area)
  cv2.rectangle(img, (x, y), (x + w, y + h), (255, 255, 0), 2)
cv2.imshow("out_img", img)

Output:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM