Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不使用OCR从Windows屏幕上的矩形中提取文本_Windows_Winapi - Fatal编程技术网

不使用OCR从Windows屏幕上的矩形中提取文本

不使用OCR从Windows屏幕上的矩形中提取文本,windows,winapi,Windows,Winapi,给定一个表示Windows屏幕上包含文本的区域的矩形,提取文本的最佳方法是什么 我知道使用OCR是可能的,但即使在经过显著的预处理后,质量仍然很差。 使用Win32 API获取窗口文本并不总是很有效 假设文本是使用字体呈现的,是否可以从那里获取文本? 任何方向都会非常有帮助。谢谢 给定一个表示窗口屏幕上某个区域的矩形,提取文本的最佳方法确实是OCR。使用一个更好的OCR库,比如来自 使用Win32 API获取窗口文本效果不佳的原因是该矩形中可能有多个窗口。您必须找出矩形包含的所有窗口,并发送消息

给定一个表示Windows屏幕上包含文本的区域的矩形,提取文本的最佳方法是什么

我知道使用OCR是可能的,但即使在经过显著的预处理后,质量仍然很差。 使用Win32 API获取窗口文本并不总是很有效

假设文本是使用字体呈现的,是否可以从那里获取文本?
任何方向都会非常有帮助。谢谢

给定一个表示窗口屏幕上某个区域的矩形,提取文本的最佳方法确实是OCR。使用一个更好的OCR库,比如来自


使用Win32 API获取窗口文本效果不佳的原因是该矩形中可能有多个窗口。您必须找出矩形包含的所有窗口,并发送消息以获取每个窗口的文本。这不是不可能的,但很难做到,即使你做到了,你也会遇到文本对齐等问题。OCR是你最好的选择。

这就是OCR的用途。质量差是什么意思?如果字体根本不是手写体,OCR会给出很好的结果。如果文本是图形,则使用Win32 API获取窗口文本也将永远不起作用。OCR精度不是完美的。在我的例子中,由于文本由Windows使用字体呈现,我希望从底层字体层提取文本,而不是使用OCR。没有底层字体层。一旦文本被渲染,它就会被渲染。OCR是您阅读它的唯一方式,除非您想要获取窗口的位图图像并尝试在代码中自己进行操作(也就是重新发明轮子,因为您将尝试生成自己的OCR系统)。我理解,给定当前帧,文本已经呈现。但是假设我想在下一次渲染时从矩形中获取文本-这可能吗?谢谢你的回答,但我特别询问了非OCR选项。OCR不是100%准确,我希望实现这一点。我还为非OCR提供了一个解决方案,使用基础坐标查找窗口和查询文本。如果您不想实现它,就没有其他解决方案了。再考虑一下,您唯一的选择就是使用OCR。如果应用程序使用win32k API,则可以通过发送get窗口文本来获取文本。如果应用程序在屏幕上使用任何其他渲染,如opengl或directx,则除了OCR,您将一无所获。