我尝试从报纸图像中提取文章,但标题是用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是二进制图像的列数
算法如何处理二进制图像和红色标记显示文章的合并
答案 0 :(得分:1)
我有一种方法可以处理大多数图像。
删除行会有所帮助,因为某些电子纸会将行保留为文章分隔符。 通过对图像进行更多处理,我们可以获得更好的结果。在执行上述步骤后,可以在图像上剩下的轮廓上实现平均宽度,平均高度,平均面积等启发式方法。
谈到上述问题,文章始终带有白色背景。没有白色背景的显然是“广告”或“图片”或“杂项”。 从上述4个步骤中删除图片可以清除,即可解决此问题。
PS:选择 RLSA 水平和垂直的值始终是个谜。由于文章的差异因版本而异。