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

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

概述正如标题所说的那样. 严格来说,我定义为灰度图像的“文本”边界框是一组4个坐标(x,y,x宽度,y高度),必须在该图像中定义一个具有最大非白色数的矩形区域像素并且同时是最小可能数量的白色像素(不占用最大量的非白色像素).我的引号中有文字,因为图像实际上不包含文本,因为图像只包含带颜色的像素. 在我的Ubuntu中安装了ImageMagick并在终端输入命令:$convert input.png - 正如标题所说的那样.

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

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

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

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

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

IDentify -format "%@" image.png200x100+10+20

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

IDentify -format "%@" paper.png406x620+38+68

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

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

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

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

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

以上是内存溢出为你收集整理的通过在linux中使用命令行获取灰度图片的“文本”边界框的坐标全部内容,希望文章能够帮你解决通过在linux中使用命令行获取灰度图片的“文本”边界框的坐标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1019797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存