lia*_*dio 5 linux bash imagemagick ghostscript superuser
正如标题所说。
严格来说,我为灰度图像定义的“文本”边界框是一组 4 个坐标(x、y、x+宽度、y+高度),它们必须在该图像中定义一个矩形区域,该区域具有最大数量的矩形区域。非白色像素,同时尽可能少的白色像素(不改变非白色像素的最大数量)。我将文本放在引号中,因为图像实际上并不包含文本,因为图像只包含带有颜色的像素。
在我的 Ubuntu 中安装 ImageMagick 并在终端中输入命令:$convert input.png -trim ouput.png,我得到:
在网络浏览器的新选项卡中打开这两个图像,您将了解它们的区别,并且您还将了解我定义的“文本”边界框。output.png 实际上具有我正在寻找的宽度和高度。我不知道如何获取 x 和 y 坐标。
这里提供的 pdf 页面的答案 (1)不符合我的标准,因为 gs 给我的“文本”边界框有很大的白边距(实际上据我所知,gs 定义为“文本”边界框的内容) pdf 与我对图片的“文本”边界框的定义不同)。
我不明白您描述中的所有单词,我认为图表会有所帮助,但如果您只是想知道-trim示例代码所暗示的作用:
identify -format "%@" image.png
200x100+10+20
Run Code Online (Sandbox Code Playgroud)
所以,对于你的形象,你得到
identify -format "%@" paper.png
406x620+38+68
Run Code Online (Sandbox Code Playgroud)
这意味着您的框距左上角右侧 38 像素,距左上角向下 68 像素,宽度为 406 像素,高度为 620 像素。
如果我用红色绘制该矩形,我会得到:
convert paper.png -stroke red -fill none -draw "rectangle 38,68 444,688" result.png
Run Code Online (Sandbox Code Playgroud)
获得相同结果但使用convert代替的另一种方法identify是:
convert -format %@ paper.png info:
406x620+38+68
Run Code Online (Sandbox Code Playgroud)