ImageMagick 显示 WxH+x+y 窗口

ImageMagick 显示 WxH+x+y 窗口

在 ImageMagick 的显示中,如果我按“c”并开始拖动裁剪框,则左上角会出现一个小框,显示裁剪框的 WxH+x+y。

除了截取屏幕截图并在图像上运行 tesseract-ocr 或类似程序之外,还有什么方法可以在 bash 中以编程方式访问数据?

答案1

如果您使用的是 X11,则框中写入的文本是使用通过套接字连接发送到 X11 服务器的图形命令完成的。可以通过插入实用程序来检查这些命令xscope。例如,

xscope -v1 -i1

将开始监听显示连接:1-i1)并将收到的 X11 命令打印到 stdout(详细级别 1),然后再将它们发送到实际显示器,大概是:0。因此,您可以简单地运行DISPLAY=:1 display my.jpg或类似命令并查看此输出,通常是:

         ............REQUEST: PolyText8
                    drawable: DWB 02e002f3
                          gc: GXC 02e00099
                           x: 11
                           y: 18
                       items:
                       delta: 0
          text item 8 string: " 53x48+310+109"

一个简单的sed脚本可以提取此文本项以进行进一步处理:

xscope -v1 -i1 |
sed -n '/text item 8 string: " /{s///;s/"//p}'

另一个可以完成类似工作的程序是x11trace,有时被称为xtrace

x11trace -D:1

产生如下输出

000:<:14fa: 32: Request(74): PolyText8 drawable=0x02e002f3 gc=0x02e00099 x=11 y=18 texts={delta=0 s=' 26x38+425+297'};

可以使用以下方式进行过滤

sed -n "/PolyText8 /{s/.*s='//;s/'.*//p}"

相关内容