首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从图像中删除特定大小的线条

从图像中删除特定大小的线条
EN

Stack Overflow用户
提问于 2018-02-06 11:11:11
回答 2查看 2.3K关注 0票数 2

对于下面的图像,我使用了下面的imagemagick命令:

代码语言:javascript
复制
convert img.png -define morphology:compose=darken -morphology Thinning Rectangle:17x1+0+0\< tmp.png

这将从图像中移除所有的线条,但我只想删除每个块左上角数字的右下角的小水平线和垂直线。我想保留主列和行行。有人能告诉我怎么做吗?

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-02-07 10:24:13

我注意到这个脚本比行更细、更薄、更不规则,所以它更容易受到侵蚀技术的影响。考虑到这一点,我们可以放弃这样的文本:

代码语言:javascript
复制
convert vcards.png -colorspace gray -threshold 50% -morphology erode disk:1.5 +repage z1.png

这是一个好的开始,但如果我们使用它作为一个面具,我们将失去你原来的形象中的长水平线。因此,我们可以通过将所有行投影到一个单像素宽的高列中,并对所有超过80%白色的行进行阈值处理,从而找到所有这些行。然后将图像放大到原来的宽度。

代码语言:javascript
复制
convert z1.png -colorspace gray -resize 1x\! +repage -threshold 80% -scale 810x1518\! +repage z2.png

现在将这两个面具组合在一起,这样它们只会在你的标题框的下方和右边进行。

代码语言:javascript
复制
convert z1.png \( z2.png -negate \) -compose darken -composite z3.png

最后,把这个遮掩起来一点,因为它可能在之前的处理过程中发生了变化,并将其应用到您的原始图像中。

代码语言:javascript
复制
convert vcards.png \( z3.png -morphology dilate disk:2 -negate \) -compose darken -composite result.png

所有这些都可以合并到一个命令中,但我不会这样做,因为有些方面可能不适用于所有的映像,虽然它们都是单独实现和记录的,但它们更易于单独改进或更正。

票数 3
EN

Stack Overflow用户

发布于 2018-06-21 06:18:26

您可以使用下面的代码对垂直线进行稍微修改的水平代码

代码语言:javascript
复制
magick 21.gif -monochrome ( +clone -negate -statistic median 219x1 ) -compose lighten -composite q1.png
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48641646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档