无法使用 PixConverter.ToPix Leptonica C#
Not Able To Use PixConverter.ToPix Leptonica C#
我想将位图转换为 Leptonica.Pix.. 所以在我搜索之后,我发现有人在这里有同样的问题:
Tesseract .NET Process image from memory object
所以这个问题的解决方案是使用 PixConverter.ToPix() 方法。
我的问题是在最新安装的 Leptonica 包中找不到这个方法。我尝试删除并重新安装 Nuget 的最新版本,但方法仍然不存在。
我应该怎么做才能使用 PixConverter.ToPix()?。提前致谢。
编辑:我忘了说我也在使用最新的 Tessercat pacakge。
它住在Tesseract
namespace, more information can be found here 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);
}
}
}
根据网站登陆 page
通过 运行 从程序包管理器控制台安装程序包 Tesseract 添加 Tesseract NuGet 程序包。
此外,值得仔细阅读该网站。
免责声明,我从来没有用过这个库,只是查了一下资料
更新
为了确保我没有向您提供不良信息,我创建了一个新项目,下载了最新的 Tesseract nuget。并且能够执行以下操作。
using Tesseract;
...
PixConverter.ToPix()
更新2
您注意到的问题是因为您正在使用
https://www.nuget.org/packages/tesseract.net/
与
并列
https://www.nuget.org/packages/Tesseract/
现在我不确定你到底想要什么。然而,该方法在前者中不存在
您需要使用版本“3.0.2”才能运行此 (PixConverter.ToPix())。
因此您的 .csproj 文件应该在 版本 中具有此 精确 匹配:
<PackageReference Include="Tesseract" Version="3.0.2" />
希望对您有所帮助。
在 Tesseract 4 中,有一种使用以下语法转换它的新方法:
var pixFromByteArray = Pix.LoadFromMemory(byteArray);
var pixFromFile = Pix.LoadFromFile(fileName);
我想将位图转换为 Leptonica.Pix.. 所以在我搜索之后,我发现有人在这里有同样的问题: Tesseract .NET Process image from memory object
所以这个问题的解决方案是使用 PixConverter.ToPix() 方法。
我的问题是在最新安装的 Leptonica 包中找不到这个方法。我尝试删除并重新安装 Nuget 的最新版本,但方法仍然不存在。
我应该怎么做才能使用 PixConverter.ToPix()?。提前致谢。
编辑:我忘了说我也在使用最新的 Tessercat pacakge。
它住在Tesseract
namespace, more information can be found here 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);
}
}
}
根据网站登陆 page
通过 运行 从程序包管理器控制台安装程序包 Tesseract 添加 Tesseract NuGet 程序包。
此外,值得仔细阅读该网站。
免责声明,我从来没有用过这个库,只是查了一下资料
更新
为了确保我没有向您提供不良信息,我创建了一个新项目,下载了最新的 Tesseract nuget。并且能够执行以下操作。
using Tesseract;
...
PixConverter.ToPix()
更新2
您注意到的问题是因为您正在使用
https://www.nuget.org/packages/tesseract.net/
与
并列https://www.nuget.org/packages/Tesseract/
现在我不确定你到底想要什么。然而,该方法在前者中不存在
您需要使用版本“3.0.2”才能运行此 (PixConverter.ToPix())。
因此您的 .csproj 文件应该在 版本 中具有此 精确 匹配:
<PackageReference Include="Tesseract" Version="3.0.2" />
希望对您有所帮助。
在 Tesseract 4 中,有一种使用以下语法转换它的新方法:
var pixFromByteArray = Pix.LoadFromMemory(byteArray);
var pixFromFile = Pix.LoadFromFile(fileName);