我想将位图转换为Leptonica.Pix。因此,在我进行搜索后,我发现有人在这里遇到同样的问题: Tesseract .NET 从内存对象处理图像
所以这个问题的解决方案是使用PixConverter.ToPix((方法。
我的问题是我在最新安装的 Leptonica 软件包中找不到此方法。我试图删除并重新安装最新版本认为Nuget,但该方法仍然不存在。
我应该怎么做才能使用PixConverter.ToPix((?。提前谢谢。
编辑:我忘了提到我也在使用最新的Tessercat pacakge。
在 Tesseract 4 中,有一种使用以下语法转换它的新方法:
var pixFromByteArray = Pix.LoadFromMemory(byteArray);
var pixFromFile = Pix.LoadFromFile(fileName);
您需要使用版本"3.0.2"(PixConverter.ToPix(((才能工作。
因此,您的 .csproj 文件在版本中应该具有此完全匹配项:
<PackageReference Include="Tesseract" Version="3.0.2" />
希望对您有所帮助。
它存在于Tesseract
命名空间中,更多信息可以在这里找到 https://github.com/charlesw/tesseract
namespace Tesseract
{
/// <summary>
/// Handles converting between different image formats supported by DotNet.
/// </summary>
public static class PixConverter
{
private static readonly BitmapToPixConverter bitmapConverter = new BitmapToPixConverter();
private static readonly PixToBitmapConverter pixConverter = new PixToBitmapConverter();
/// <summary>
/// Converts the specified <paramref name="pix"/> to a Bitmap.
/// </summary>
/// <param name="pix">The source image to be converted.</param>
/// <returns>The converted pix as a <see cref="Bitmap"/>.</returns>
public static Bitmap ToBitmap(Pix pix)
{
return pixConverter.Convert(pix);
}
/// <summary>
/// Converts the specified <paramref name="img"/> to a Pix.
/// </summary>
/// <param name="img">The source image to be converted.</param>
/// <returns>The converted bitmap image as a <see cref="Pix"/>.</returns>
public static Pix ToPix(Bitmap img)
{
return bitmapConverter.Convert(img);
}
}
}
根据网站登陆页面
通过从包管理器控制台运行安装包 Tesseract 来添加 Tesseract NuGet 包。
此外,在彻底阅读网站时它的价值。
免责声明,我以前从未使用过这个库,只是查找了信息
更新
为了确保我没有给你不好的信息,我创建了一个新项目,下载了最新的Tesseract nuget。并且能够做到以下几点。
using Tesseract;
...
PixConverter.ToPix()
更新2
您注意到的问题是因为您正在使用
https://www.nuget.org/packages/tesseract.net/
附于
https://www.nuget.org/packages/Tesseract/
现在我不确定你真正想要什么。但是,该方法在前者中不存在
我通过添加 tesseract.drawing 包为自己解决了:
在此处查看屏幕截图
只需安装它,它就会解决