0
나는 현재 OCR 프로그램을 사용하고 있습니다. 나는 tesseract를 사용하고 있으며, 감지 된 문자의 품질을 향상시키기 위해 이미지를 왜곡 보정해야합니다. 문제는 tesseract가 제공 한 디스 큐 (deskew) 속성이 충분한 매력적인 결과를 생성하지 않는다는 것입니다. 그래서 저는 AForge와 Atalasoft로 이미지의 기울기를 줄이려고했으나 매번 어떤 이미지가 필요한 형식이 아니 었습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 아니면 더 나은 해결책이 있습니까?C# 이미지 왜곡 보정 방법
이 AForge 구현
System.Drawing.Bitmap imageToBitmap = AForge.Imaging.Image.FromFile(imagePath);
Console.WriteLine("before " + imageToBitmap.PixelFormat);
System.Drawing.Bitmap NewPicture = imageToBitmap.Clone(new System.Drawing.Rectangle(0, 0, imageToBitmap.Width, imageToBitmap.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb);
var dop = AForge.Imaging.Image.Clone(imageToBitmap, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Console.WriteLine("after " + dop.PixelFormat);
AForge.Imaging.DocumentSkewChecker skewChecker = new AForge.Imaging.DocumentSkewChecker();
// get documents skew angle
double angle = skewChecker.GetSkewAngle(dop);
// create rotation filter
AForge.Imaging.Filters.RotateBilinear rotationFilter = new AForge.Imaging.Filters.RotateBilinear(-angle);
rotationFilter.FillColor = System.Drawing.Color.White;
// rotate image applying the filter
System.Drawing.Bitmap rotatedImage = rotationFilter.Apply(imageToBitmap);
rotatedImage.Save("deskewedImage");
이는 것은 작동하지 않는 이유를 마침내 이해하기 위해 관리 Atalasoft 구현
AtalaImage img = new AtalaImage(imagePath);
AutoDeskewCommand cmd = new AutoDeskewCommand();
AtalaImage resultImage = cmd.Apply(img).Image;
resultImage.Save("result.tif", new TiffEncoder(), null);
가능한 복제본 [D 이진 이미지의 e-skew 문자] (http://stackoverflow.com/questions/30273251/de-skew-characters-in-binary-image) – Spektre