תיקון הטיה בעיבוד תמונה באמצעות C#

תיקון הטיה בעיבוד תמונה הוא משימה של אופטימיזציה של תמונה. בראייה ממוחשבת, אנחנו צריכים למקם נכון את המצלמות והחיישנים שלנו, אבל זה מוביל לרוב לעיוותים גדולים. באופן דומה, כאשר סורקים עם סורקים, לפעמים יישור הוא כמעט בלתי אפשרי. בשל כך, לתמונות ותצלומים סרוקים יש הטיה קלה (הטיה). במאמר זה נלמד כיצד לבצע תיקון הטיה בעיבוד תמונה באמצעות C#.

הנושאים הבאים יכוסו במאמר זה:

  1. C# Skew Correction Image Processing API
  2. זיהוי זווית הטיה של תמונה
  3. תיקון הטיה אוטומטי
  4. תיקון הטיה אוטומטי עם מסנן עיבוד מוקדם
  5. זיהוי טקסט תמונה עם תיקון הטיה אוטומטי
  6. תיקון הטיה ידני
  7. תיקון הטיה ידני עם מסנן עיבוד מוקדם

C# Skew Correction Image Processing API

לתיקוני הטיה, אנו נשתמש ב-Aspose.OCR for .NET API. ה-API מאפשר לבצע OCR על תמונות סרוקות, תמונות סמארטפון, צילומי מסך, אזורים בתמונה וקובצי PDF סרוקים. זה מאפשר שמירת תוצאות הטקסט המזוהות בפורמטים פופולריים של מסמכים.

אנא הורד את ה-DLL של ה-API או התקן אותו באמצעות NuGet.

PM> Install-Package Aspose.OCR

זיהוי זווית הטיית תמונה ב-C#

ה-API מספק את השיטה CalculateSkew(string) המחשבת את זווית ההטיה של תמונת המקור שסופקה. אנו יכולים לזהות בקלות את זווית ההטיה של תמונת טקסט על ידי ביצוע השלבים המפורטים להלן:

  1. ראשית, צור מופע של המחלקה AsposeOCR.
  2. קרא למתודה CalculateSkew() . זה לוקח את נתיב התמונה כטיעון.
  3. לבסוף, הצג את זווית ההטיה המחושבת.

הקוד לדוגמה הבא מראה כיצד לחשב את זווית ההטיה של תמונה ב-C#.

// דוגמה זו מדגימה כיצד לחשב את זווית ההטיה של תמונה.
// צור מופע של ה-AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// חשב זווית הטיה
float skew = recognitionEngine.CalculateSkew("C:\\Files\\OCR\\source.png");

// הצג זווית
Console.WriteLine($"Skew angle: {skew:N1}°");
זיהוי זווית הטיית תמונה ב-C#

תמונת המקור.

Skew angle: 5.8°

תיקון הטיה אוטומטי ב-C#

לתיקון הטיה אוטומטי, נוכל להפעיל את המאפיין RecognitionSettings.AutoSkew בהגדרות זיהוי על ידי ביצוע השלבים המפורטים להלן:

  1. ראשית, צור מופע של המחלקה AsposeOCR.
  2. לאחר מכן, אתחול אובייקט של המחלקה RecognitionSettings.
  3. לאחר מכן, הגדר את המאפיין AutoSkew ל-true.
  4. לאחר מכן, קרא למתודה RecognizeImage() עם תמונת המקור ואובייקט RecognitionSettings.
  5. לבסוף, הצג את הטקסט המוכר.

הקוד לדוגמה הבא מראה כיצד להחיל תיקון הטיה אוטומטי ב-C#.

// דוגמה זו מדגימה כיצד להחיל תיקון הטיה אוטומטי.
// צור מופע של ה-AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// אפשר הטיה אוטומטית בהגדרות הזיהוי
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.AutoSkew = true;

// זיהוי תמונה
RecognitionResult result = recognitionEngine.RecognizeImage("C:\\Files\\OCR\\source.png", recognitionSettings);

// הצג טקסט מוכר
Console.WriteLine(result.RecognitionText);

תיקון הטיה אוטומטי עם מסנן עיבוד מוקדם ב-C#

לחלופין, אנו יכולים להחיל את מסנן העיבוד המקדים AutoSkew לתיקון הטיה אוטומטי ולשמור את התמונה המתוקנת על ידי ביצוע השלבים המפורטים להלן:

  1. ראשית, צור מופע של המחלקה AsposeOCR.
  2. לאחר מכן, אתחול אובייקט מהמחלקה PreprocessingFilter.
  3. לאחר מכן, הוסף את המסנן AutoSkew() .
  4. לאחר מכן, קרא למתודה PreprocessImage() כדי להחיל את המסנן על תמונת המקור.
  5. לבסוף, שמור את התמונה המתוקנת.

הקוד לדוגמה הבא מראה כיצד להחיל תיקון הטיה אוטומטי עם מסנן עיבוד מקדים ב-C#.

// דוגמה זו מדגימה כיצד להחיל תיקון הטיה אוטומטי באמצעות מסנן עיבוד מקדים ולשמור את התמונה המתוקנת.
// צור מופע של ה-AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// הוסף מסנן ביטול הטיה
Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter filters = new Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter();
filters.Add(Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter.AutoSkew());

// שמור תמונה מעובדת מראש לקובץ
using (MemoryStream ms = recognitionEngine.PreprocessImage("C:\\Files\\OCR\\source.png", filters))
{
    using (FileStream fs = new FileStream("C:\\Files\\OCR\\result.png", FileMode.Create, FileAccess.Write))
    {
        ms.WriteTo(fs);
    }
}
תיקון הטיה אוטומטי עם מסנן ב-C#

תיקון הטיה אוטומטי עם מסנן ב-C#.

זיהוי טקסט תמונה עם תיקון הטיה אוטומטי ב-C#

אנו יכולים להחיל את מסנן העיבוד המקדים של AutoSkew ולזהות טקסט תמונה על ידי ביצוע השלבים המפורטים להלן:

  1. ראשית, צור מופע של המחלקה AsposeOCR.
  2. לאחר מכן, אתחול אובייקט מהמחלקה PreprocessingFilter.
  3. לאחר מכן, הוסף את המסנן AutoSkew() .
  4. בינתיים, צור מופע של המחלקה RecognitionSettings.
  5. לאחר מכן, הקצה מסננים למאפיין PreprocessingFilters.
  6. לאחר מכן, קרא למתודה RecognizeImage() עם תמונת המקור ואובייקט RecognitionSettings.
  7. לבסוף, הצג את הטקסט המוכר.

הקוד לדוגמה הבא מראה כיצד להחיל תיקון הטיה אוטומטי ולזהות את הטקסט ב-C#.

// דוגמה זו מדגימה כיצד להחיל תיקון הטיה אוטומטי באמצעות מסנן עיבוד מקדים ולזהות את התמונה.
// צור מופע של ה-AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// הוסף מסנן ביטול הטיה
Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter filters = new Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter();
filters.Add(Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter.AutoSkew());

// הוסף מסנני עיבוד מקדים להגדרות זיהוי
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.PreprocessingFilters = filters;

// זיהוי תמונה
RecognitionResult result = recognitionEngine.RecognizeImage("C:\\Files\\OCR\\source.png", recognitionSettings);

// הראה תוצאות
Console.WriteLine(result.RecognitionText);

תיקון הטיה ידני ב-C#

לתיקון הטיה ידני, נוכל להגדיר את זווית ההטיה באופן ידני על ידי ציון המאפיין SkewAngle בהגדרות הזיהוי על ידי ביצוע השלבים המפורטים להלן:

  1. ראשית, צור מופע של המחלקה AsposeOCR.
  2. לאחר מכן, אתחול אובייקט של המחלקה RecognitionSettings.
  3. לאחר מכן, הגדר את המאפיין SkewAngle.
  4. לאחר מכן, קרא למתודה RecognizeImage() עם תמונת המקור ואובייקט RecognitionSettings.
  5. לבסוף, הצג את הטקסט המוכר.

הקוד לדוגמה הבא מראה כיצד ליישם תיקון הטיה ידני ב-C#.

// דוגמה זו מדגימה כיצד ליישם תיקון הטיה ידני.
// צור מופע של ה-AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// הגדר באופן ידני את זווית ההטיה
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.SkewAngle = 6;

// זיהוי תמונה
RecognitionResult result = recognitionEngine.RecognizeImage("C:\\Files\\OCR\\source.png", recognitionSettings);

// הצג תוצאות
Console.WriteLine(result.RecognitionText);

תיקון הטיה ידני עם מסנן עיבוד מוקדם ב-C#

אנו יכולים גם להגדיר את זווית ההטיה באופן ידני על ידי סיבוב התמונה לדרגה שצוינה על ידי שימוש במסנן העיבוד המקדים Rotate.

אנא בצע את השלבים המפורטים להלן כדי להחיל באופן ידני את תיקון ההטיה:

  1. ראשית, צור מופע של המחלקה AsposeOCR.
  2. לאחר מכן, אתחול אובייקט מהמחלקה PreprocessingFilter.
  3. לאחר מכן, הוסף את המסנן Rotate() .
  4. בינתיים, צור מופע של המחלקה RecognitionSettings.
  5. לאחר מכן, הקצה מסננים למאפיין PreprocessingFilters.
  6. לאחר מכן, קרא למתודה RecognizeImage() עם תמונת המקור ואובייקט RecognitionSettings.
  7. לבסוף, הצג את הטקסט המוכר.

הקוד לדוגמה הבא מראה כיצד להחיל תיקון הטיה ידני עם מסנן עיבוד מקדים ב-C#.

// דוגמה זו מדגימה כיצד להחיל תיקון הטיה ידני ולזהות טקסט תמונה.
// צור מופע של ה-AsposeOcr
AsposeOcr recognitionEngine = new AsposeOcr();

// סובב את התמונה 90 מעלות נגד כיוון השעון
Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter filters = new Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter();
filters.Add(Aspose.OCR.Models.PreprocessingFilters.PreprocessingFilter.Rotate(-90));

// שמור תמונה מעובדת מראש לקובץ למטרות ניפוי באגים
using (MemoryStream ms = recognitionEngine.PreprocessImage("C:\\Files\\OCR\\source.png", filters))
{
    using (FileStream fs = new FileStream("C:\\Files\\OCR\\result.png", FileMode.Create, FileAccess.Write))
    {
        ms.WriteTo(fs);
    }
}

// הוסף מסנני עיבוד מקדים להגדרות זיהוי
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.PreprocessingFilters = filters;

// זיהוי תמונה
RecognitionResult result = recognitionEngine.RecognizeImage("C:\\Files\\OCR\\source.png", recognitionSettings);

// הראה תוצאות
Console.WriteLine(result.RecognitionText);

קבל רישיון הערכה בחינם

אתה יכול לקבל רישיון זמני בחינם כדי לנסות את Aspose.OCR עבור .NET ללא מגבלות הערכה.

סיכום

במאמר זה למדנו כיצד:

  • לבצע OCR ולזהות טקסט בתמונות;
  • החל מסננים ועיבוד תמונות;
  • השתמש בהגדרות זיהוי;
  • שמור את התמונות המתוקנות באמצעות C#.

מלבד תיקון הטיה בעיבוד תמונה באמצעות C#, אתה יכול ללמוד עוד על Aspose.OCR עבור .NET API באמצעות תיעוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו ב[פורום התמיכה החינמי] שלנו19.

ראה גם