无法使用 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);