加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

通过在linux中使用命令行获取灰度图片的“文本”边界框的坐标

发布时间:2020-12-13 23:27:35 所属栏目:Linux 来源:网络整理
导读:正如标题所说的那样. 严格来说,我定义为灰度图像的“文本”边界框是一组4个坐标(x,y,x宽度,y高度),必须在该图像中定义一个具有最大非白色数的矩形区域像素并且同时是最小可能数量的白色像素(不占用最大量的非白色像素).我的引号中有文字,因为图像实际上不包
正如标题所说的那样.

严格来说,我定义为灰度图像的“文本”边界框是一组4个坐标(x,y,x宽度,y高度),必须在该图像中定义一个具有最大非白色数的矩形区域像素并且同时是最小可能数量的白色像素(不占用最大量的非白色像素).我的引号中有文字,因为图像实际上不包含文本,因为图像只包含带颜色的像素.

在我的Ubuntu中安装了ImageMagick并在终端输入命令:$convert input.png -trim ouput.png,我得到:

input.png

output.png

在Web浏览器的新选项卡中打开两个图像,您将了解它们之间的差异,您还将了解我定义为“文本”边框的内容.
output.png实际上是我正在寻找的宽度和高度.我不知道如何获得x和y坐标.

这里提供的pdf页面的答案不符合我的标准,因为gs给我的“文本”边界框有很大的白边(实际上,据我所知,gs定义为pdf的“文本”边框)与我对图片的“文本”边界框的定义不同的东西.

解决方法

我不理解你的描述中的所有单词,我认为一个图表会有所帮助,但如果你只是想知道-trim会做什么,因为你的示例代码暗示:

identify -format "%@" image.png
200x100+10+20

所以,对于你的形象,你得到

identify -format "%@" paper.png
406x620+38+68

这意味着你的盒子左上角右边38像素,左上角68像素,宽406像素,高620像素.

如果我用红色绘制那个矩形,我得到:

convert paper.png -stroke red -fill none -draw "rectangle 38,68 444,688" result.png

enter image description here

获得相同结果但使用转换代替识别的另一种方法是:

convert -format %@ paper.png info:
406x620+38+68

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读