标签: dilation

仅在一个方向上使用膨胀?

这是我在 Stack Overflow 上的第一篇文章,如果问题没有得到足够的定义,我很抱歉。

我目前正在研究从图像中提取表格数据,我需要一种仅在垂直方向上扩展文本的方法,以便我可以获得清晰的列表示,用于进一步分割。

删除水平线和垂直线并按位转换图像后,我处于以下阶段:

膨胀和线提取后的当前状态

这个问题的理想目标是:

目标

有没有一种方法或算法对我的情况有帮助?

python opencv computer-vision image-morphology dilation

6
推荐指数
1
解决办法
5947
查看次数

检测报纸文档中的文章、标题和图像 opencv

我收集了一些报纸,我的目标是获得几个 ROI 周围的边界框。具体来说,这些投资回报率是:

  • 文章
  • 标题
  • 图片

我正在使用 opencv 和 python 来达到预期的结果。我的做法如下:

  1. Canny 边缘检测(通过图像模糊进行)
  2. 扩张
  3. 轮廓检测
  4. 轮廓近似和边界框

我已经编写了适当的代码来实现此目的,但轮廓并不那么准确(更多内容将在后面介绍)。示例:我正在展示代码的行为方式:

在此输入图像描述

正如您所看到的,它并没有检测那里的所有文章,而是将多篇文章的一部分组合到一个边界框中。我怎样才能让这个变得更好?我希望它更准确。我尝试了 Canny、扩张和模糊的参数,但没有取得更好的结果。这是我的代码:

import cv2
import imutils
import numpy as np
import random

# capture image
path = 'C:/Users/96171/Desktop/dataset_training/jpg/75120201.jpg'
image = cv2.imread(path)
image = imutils.resize(image, width=500)
resize_factor = 1


blur = cv2.GaussianBlur(image, (9, 9), 0)
cv2.imshow('Blurred', blur)
cv2.waitKey()

# this was the golden line that made it better
# edged = cv2.Canny(blur, 0, 150)
edged = cv2.Canny(blur, 0, 170)

cv2.imshow('Edged', edged)
cv2.waitKey()

# edged …
Run Code Online (Sandbox Code Playgroud)

python opencv contour dilation

5
推荐指数
0
解决办法
1190
查看次数