当前位置: 首页 > 知识库问答 >
问题:

Python OpenCV:在中断的图片中查找方框

淳于飞鸾
2023-03-14

我想在数字中找到长方形。

我可以找到他们时,外面的盒子是不中断与写与下面的代码。然而,当盒子被笔迹打断时,我找不到它,这是我需要帮助的部分。

代码:

import cv2
import numpy as np
import matplotlib.pyplot as pp

image = cv2.imread('original_image.jpeg')

blur = cv2.pyrMeanShiftFiltering(image, 11, 21)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]

cnts = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if len(cnts) == 2 else cnts[1]
for c in cnts:
    peri = cv2.arcLength(c, True)
    approx = cv2.approxPolyDP(c, 0.015 * peri, True)
    if len(approx) == 4:
        print(approx)
        x,y,w,h = cv2.boundingRect(approx)
        if(w > 10 and h > 10):
            print(x,y,w,h)
            cv2.rectangle(image,(x,y),(x+w,y+h),(36,255,12),2)

cv2.imshow('thresh', thresh)
cv2.waitKey()
cv2.imshow('image', image)

如何在中断的图片中找到方框?

共有1个答案

松博耘
2023-03-14

您可以使用我的答案,这是一个解决方案,从给定的表单中找到所有复选框,以获得框。https://stackoverflow.com/A/62801071/9605907步骤基本上如下所示。

  1. 对图像进行二值化
  2. 查找水平线
  3. 查找垂直线
  4. 组合它们
  5. 使用CV2.ConnectedComponentsWithStats
  6. 获取连接的组件

我试着用你输入的图像运行代码,这就是我得到的结果,

 类似资料:
  • iTerm 2 2.9 版本带来了一个很重要的新命令──imgcat──类似于 cat 命令之于文本文件,imgcat 提供了在终端查看图片的功能。使用方法很简单:imgcat /path/to/your/image.jpg。该命令支持常见的图片格式,但是展示较大尺寸的 gif 动图时会引起明显的卡顿。 不过,在 Python 中如何调用该功能呢?你也许会想到 shutils,但是很明显这不会是我

  • Lightroom 可在人物视图中识别每个人物的照片并对其进行分组。了解如何在 Lightroom 的人物视图中整理这些照片和开展工作。 在将照片上载和同步到云端时,Lightroom 会检测和识别具有相同人物的照片,并对其进行分组。您可以在人物视图中访问这些照片,并轻松地浏览某个特定人物的照片。 查看照片中的人物 在屏幕左上方的我的照片 面板中,选择人物以查看人物视图。在此视图中,您可以访问人物

  • 问题内容: 我有两个从PIL图像转换的Numpy数组(3维uint8)。 我想查找第一张图像是否包含第二张图像,如果是,则找出匹配的第一张图像内左上像素的坐标。 有没有一种方法可以在Numpy中以足够快的方式完成此操作,而不是使用(4!非常慢)纯Python循环? 2D示例: 怎么做这样的事情? 然后将是。 问题答案: 这可以使用SciPy的公司来完成correlate2d,然后用argmax找到

  • 请检查我在MovieFragmentBase中使用的viewPagerAdapter的代码。

  • 问题内容: 我有一个pandas.DataFrame,它在连续的时间点进行了测量。与每次测量一起,被观察系统在每个时间点都有不同的状态。因此,DataFrame还包含一列,其中包含每次测量时系统的状态。状态更改比测量间隔慢得多。结果,指示状态的列可能看起来像这样(索引:状态): 是否有一种简单的方法来检索连续相等状态的每个段的索引。那意味着我想得到这样的东西: 结果也可能与普通列表有所不同。 到目

  • 本文向大家介绍在 Linux 中查找文件的方法,包括了在 Linux 中查找文件的方法的使用技巧和注意事项,需要的朋友参考一下 使用简单的命令在 Linux 下基于类型、内容等快速查找文件。 如果你是 Windows 或 OSX 的非资深用户,那么可能使用 GUI 来查找文件。你也可能发现界面受限,令人沮丧,或者两者兼而有之,并学会了组织文件并记住它们的确切顺序。你也可以在 Linux 中做到这一