gpt4 book ai didi

python - 在 python 和 opencv 中从报纸图像中提取文章

转载 作者:太空宇宙 更新时间:2023-11-03 21:11:43 26 4
gpt4 key购买 nike

first image: this is the image I tried Run length smoothing algorithm horizontal and vertical with some pixel value depends on the dimension of the image

second image: Another image to extract article by increasing the pixel value but merging with other articles

我尝试从报纸图像中提取文章,但标题正在使用 rlsa 算法在第一张图像中的某些像素值的水平和垂直方向上分离。如果我尝试使用更多像素值,文章就会合并,如第二张图片所示。谁能建议在 python 和 opencv 中将文章与图像分开的最佳方法?

此循环用于图像上的水平游程平滑算法

    for i in range(1,a):
c = 1
for j in range(1, b):
if im_bw[i, j] == 0:
if (j-c) <= 10:
im_bw[i, c:j] = 0

c = j


if (b - c) <= 10:
im_bw[i, c:b] = 0

此循环用于图像上的垂直游程平​​滑算法

    for i in range(1, b):
c = 1
for j in range(1, a):
if im_bw[j, i] == 0:
if (j-c) <= 9:
im_bw[c:j, i] = 0

c = j


if (b - c) <= 9:
im_bw[c:b, i] = 0

a 是行数b 是二值图像的列数

算法如何处理二值图像和红色标记显示文章的合并

最佳答案

我有一个适用于大多数图像的方法。

  1. 使用 PIL/Opencv 对彩色/灰度图像进行二进制转换。
  2. 从图像中删除与图像相比具有最大面积的轮廓的图片图像中所有轮廓的平均面积。
  3. 使用 canny 边缘过滤器和 houghlines 去除线条
  4. 在此二值图像上使用RLSA(游程平滑算法)。此 RLSA 的说明和代码可在此存储库中找到 https://github.com/Vasistareddy/python-rlsa

删除行会有所帮助,因为一些电子报纸将行作为文章分隔符。我们可以通过对图像进行更多处理来获得更好的结果。应用上述步骤后,可以在图像上留下的轮廓上实现平均宽度、平均高度、平均面积等启发式算法,以获得更好的结果。

来到上面的问题,文章总是带有白色背景。没有白底,分明是“广告”或“图片”或“杂项”之类的东西。 从上面提到的 4 个步骤中删除图片清除解决了这个问题。

PS:为 RLSA 水平和垂直选择一个值总是一个谜。由于文章的间隙因版本而异。

编辑:

上面的问题基本上是在应用启发式方法。通读这个

https://medium.com/@vasista/extract-title-from-the-image-documents-in-python-application-of-rlsa-58f91237901f

关于python - 在 python 和 opencv 中从报纸图像中提取文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33299412/

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