Reputation: 69
I wanted to convert a bitmap to Leptonica.Pix.. So after I did a search I found someone who had the same problem here: Tesseract .NET Process image from memory object
So the solution to this problem was to use PixConverter.ToPix() method.
My problem here is that I can't find this method in the latest installed Leptonica Package. I tried to remove the and reinstall the lateset version thought Nuget but the method is still not not there.
What should I do to be able to use PixConverter.ToPix()?. Thanks in advance.
EDIT: I forgot to mention that i'm using the latest Tessercat pacakge too.
Upvotes: 1
Views: 7254
Reputation: 31
i solved for myself by adding the support package Tesseract.Drawing
Adds support for interop with System.Drawing to Tesseract such as passing Bitmap to Tesseract
just install it and it will be solved
Upvotes: 3
Reputation: 3293
In Tesseract 4 there is a new way to convert this using the following syntax:
var pixFromByteArray = Pix.LoadFromMemory(byteArray);
var pixFromFile = Pix.LoadFromFile(fileName);
Upvotes: 2
Reputation: 344
You need to use the version "3.0.2" for this (PixConverter.ToPix()) to work.
So your .csproj file should have this exact match in version:
<PackageReference Include="Tesseract" Version="3.0.2" />
Hope it helps.
Upvotes: 3
Reputation: 81563
It lives in 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);
}
}
}
As per the sites landing page
Add the Tesseract NuGet Package by running Install-Package Tesseract from the Package Manager Console.
Also, its worth while reading the site thoroughly.
Disclaimer, i have never used this library before, just looked up the information
Just to make sure i wasn't giving you bad information, I created a new project, downloaded the latest Tesseract nuget. And was able to do the following.
using Tesseract;
...
PixConverter.ToPix()
The problem you are noticing is because you are using
https://www.nuget.org/packages/tesseract.net/
apposed to
https://www.nuget.org/packages/Tesseract/
Now 'im not sure what one you actually want. However that method dosnt not exist in the former
Upvotes: 0