如何使用Tesseract LoadTiffFromMemory从WinAppDriver GetScreenshot方法加载图像?

如何使用Tesseract LoadTiffFromMemory从WinAppDriver GetScreenshot方法加载图像?,tesseract,winappdriver,Tesseract,Winappdriver,我使用以下代码从WinAppDriver会话捕获屏幕截图,然后将其传递给Tesseract Pix类,以便OCR在WinAppDriver会话Win32应用程序无法识别的表中导航链接。注意:会话是使用WinAppDriver的WindowsDriver定义的 如评论中所述,我可以在本地保存文件,然后访问它。然而,我希望通过从内存加载这个。测试失败,出现异常System.IO.IOException:无法从内存加载图像屏幕截图很可能不是TIFF格式。你能试试吗 Pix ImagefromMemor

我使用以下代码从WinAppDriver会话捕获屏幕截图,然后将其传递给Tesseract Pix类,以便OCR在WinAppDriver会话Win32应用程序无法识别的表中导航链接。注意:会话是使用WinAppDriver的WindowsDriver定义的


如评论中所述,我可以在本地保存文件,然后访问它。然而,我希望通过从内存加载这个。测试失败,出现异常System.IO.IOException:无法从内存加载图像

屏幕截图很可能不是TIFF格式。你能试试吗

Pix ImagefromMemory = Pix.LoadFromMemory(screenmemory);


谢谢你的回复。我使用的是Nuget[link]中的Tesseract库,“Pix”只提供LoadFromFile和LoadTiffFromMemory方法。对于第二个示例,GetScreenShot不提供Save,只提供SaveAsFileTheMethod在Tesseract 4.x版本中存在:请忽略第二个;我把屏幕误认为是图像类型。
Pix ImagefromMemory = Pix.LoadFromMemory(screenmemory);
MemoryStream memStream = new MemoryStream();
screen.Save(memStream, ImageFormat.Tiff);
Pix ImagefromMemory = Pix.LoadTiffFromMemory(memStream.ToArray());