对于下面的图像,我使用了下面的imagemagick命令:
convert img.png -define morphology:compose=darken -morphology Thinning Rectangle:17x1+0+0\< tmp.png这将从图像中移除所有的线条,但我只想删除每个块左上角数字的右下角的小水平线和垂直线。我想保留主列和行行。有人能告诉我怎么做吗?

这就是我得到的(注意,将图像内容分成列和行的长行也消失了。我想让那些人留下来):

发布于 2018-02-07 10:24:13
我注意到这个脚本比行更细、更薄、更不规则,所以它更容易受到侵蚀技术的影响。考虑到这一点,我们可以放弃这样的文本:
convert vcards.png -colorspace gray -threshold 50% -morphology erode disk:1.5 +repage z1.png

这是一个好的开始,但如果我们使用它作为一个面具,我们将失去你原来的形象中的长水平线。因此,我们可以通过将所有行投影到一个单像素宽的高列中,并对所有超过80%白色的行进行阈值处理,从而找到所有这些行。然后将图像放大到原来的宽度。
convert z1.png -colorspace gray -resize 1x\! +repage -threshold 80% -scale 810x1518\! +repage z2.png

现在将这两个面具组合在一起,这样它们只会在你的标题框的下方和右边进行。
convert z1.png \( z2.png -negate \) -compose darken -composite z3.png

最后,把这个遮掩起来一点,因为它可能在之前的处理过程中发生了变化,并将其应用到您的原始图像中。
convert vcards.png \( z3.png -morphology dilate disk:2 -negate \) -compose darken -composite result.png

所有这些都可以合并到一个命令中,但我不会这样做,因为有些方面可能不适用于所有的映像,虽然它们都是单独实现和记录的,但它们更易于单独改进或更正。
发布于 2018-06-21 06:18:26
您可以使用下面的代码对垂直线进行稍微修改的水平代码
magick 21.gif -monochrome ( +clone -negate -statistic median 219x1 ) -compose lighten -composite q1.pnghttps://stackoverflow.com/questions/48641646
复制相似问题