صور منحرفة في بايثون | تصحيح انحراف الصورة في بايثون

إذا كنت تبحث عن طريقة لمحاذاة المحتوى المائل في الصور بشكل صحيح، فقد وصلت إلى المكان الصحيح. في هذه المقالة، سوف نتعلم كيفية إجراء تصحيح الانحراف في معالجة الصور باستخدام بايثون. سنوجهك عبر أساسيات تصحيح الانحراف في بايثون. سنغطي كيفية اكتشاف الانحراف في الصورة، وكيفية حساب زاوية الانحراف، وكيفية تعديل صورك برمجيًا باستخدام بايثون.

تتناول هذه المقالة المواضيع التالية:

  1. تصحيح انحراف الصورة
  2. واجهة برمجة تطبيقات تصحيح انحراف بايثون
  3. كشف الانحراف في بايثون
  4. تصحيح الانحراف التلقائي
  5. إزالة انحراف الصور يدويًا
  6. تصحيح الانحراف - موارد مجانية

تصحيح انحراف الصورة

تصحيح الانحراف في معالجة الصور، والمعروف أيضًا باسم الانحناء المكتبي، هو عملية محاذاة الصورة المائلة أو المنحرفة لجعلها تبدو أكثر جاذبية من الناحية المرئية وأسهل في التعامل معها. يمكن أن يحدث الانحراف لأسباب مختلفة، مثل المسح غير الصحيح، أو تشوه المنظور، أو محاذاة الكاميرا بشكل غير صحيح، كما هو موضح في الصورة أدناه:

صورة منحرفة

الصورة المصدر.

واجهة برمجة تطبيقات Python لصور Deskew

Aspose.OCR هي مكتبة OCR مستخدمة على نطاق واسع وتسمح بإجراء التعرف الضوئي على الحروف على الصور الممسوحة ضوئيًا وصور الهواتف الذكية ولقطات الشاشة ومناطق الصورة وملفات PDF الممسوحة ضوئيًا بلغات برمجة مختلفة، بما في ذلك Python. سنستخدم واجهة برمجة التطبيقات Aspose.OCR for Python via .NET لتصحيح الانحراف.

يرجى تنزيل الحزمة أو تثبيت واجهة برمجة التطبيقات من PyPI باستخدام أمر النقطة التالي في وحدة التحكم:

pip install aspose-ocr-python-net

كشف زاوية الانحراف في بايثون

يمكننا بسهولة اكتشاف زاوية انحراف النص في الصورة باتباع الخطوات التالية:

  1. قم بإنشاء مثيل لفئة AsposeOCR.
  2. تهيئة كائن من فئة OcrInput.
  3. قم بإضافة الصورة إلى مجموعة التعرف على OcrInput.
  4. قم باستدعاء طريقة الحساب().يأخذ مسار الصورة كوسيطة.
  5. إظهار زاوية الانحراف المحسوبة.

يوضح نموذج التعليمات البرمجية التالي كيفية اكتشاف زاوية الانحراف للصورة في Python.

import aspose.ocr as ocr

# إنشاء مثيل Aspose.OCR API
api = ocr.AsposeOcr()

# إضافة صورة إلى دفعة التعرف
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# كشف زاوية الانحراف
angles = api.calculate_skew(img);
for angle in angles:
    print("File: " + angle.source)
    print(f"Skew angle: {angle.angle:.1f}\xb0")
File: D:\Files\source.png
Skew angle: 5.8°

تصحيح الانحراف التلقائي في بايثون

يمكننا تمكين تصحيح الانحراف التلقائي وحفظ الصورة المصححة باتباع الخطوات التالية:

  1. قم بإنشاء مثيل لفئة AsposeOCR.
  2. تهيئة كائن من فئة PreprocessingFilter.
  3. أضف عامل التصفية autoskew().
  4. بعد ذلك، أضف الصورة إلى مجموعة التعرف وقم بتطبيق مرشح المعالجة باستخدام فئة OcrInput.
  5. أخيرًا، قم باستدعاء الأسلوب ImageProcessing.save() لحفظ الصورة المعالجة في مجلد المسار المحدد.

يوضح نموذج التعليمات البرمجية التالي كيفية تطبيق تصحيح الانحراف التلقائي باستخدام مرشح المعالجة المسبقة في Python.

import aspose.ocr as ocr

# إنشاء مثيل Aspose.OCR API
api = ocr.AsposeOcr()

# تهيئة معالجة الصور
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# أضف صورة إلى مجموعة التعرف وقم بتطبيق مرشح المعالجة
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# احفظ الصورة المعالجة في مجلد "النتيجة".
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
تصحيح الانحراف التلقائي مع مرشح في بايثون

تصحيح الانحراف التلقائي مع مرشح في بايثون.

الصور المنحرفة يدويًا في بايثون

لتصحيح الانحراف يدوياً، يمكننا تحديد زاوية الانحراف يدوياً باتباع الخطوات التالية:

  1. قم بإنشاء مثيل لفئة AsposeOCR.
  2. تهيئة كائن من فئة PreprocessingFilter.
  3. أضف مرشح التدوير().
  4. بعد ذلك، أضف الصورة إلى مجموعة التعرف وقم بتطبيق مرشح المعالجة باستخدام فئة OcrInput.
  5. أخيرًا، قم باستدعاء الأسلوب ImageProcessing.save() لحفظ الصورة المعالجة في مجلد المسار المحدد.

يوضح نموذج التعليمة البرمجية التالي كيفية تعديل الصور يدويًا في Python.

import aspose.ocr as ocr

# إنشاء مثيل Aspose.OCR API
api = ocr.AsposeOcr()

# تهيئة معالجة الصور
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# أضف صورة إلى مجموعة التعرف وقم بتطبيق مرشح المعالجة
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# احفظ الصورة المعالجة في مجلد "النتيجة".
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

احصل على ترخيص مجاني

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة Aspose.OCR لـ Python عبر .NET دون قيود التقييم.

تصحيح الانحراف - موارد مجانية

إلى جانب تنفيذ تصحيح انحراف الصورة في Python، يمكنك استكشاف Python OCR API باستخدام الموارد التالية:

خاتمة

تعلمنا في هذه المقالة كيفية محاذاة الصور المائلة بشكل صحيح باستخدام تصحيح انحراف الصورة في بايثون. لقد رأينا كيفية تحريف الصور باستخدام الطريقة التلقائية وعن طريق ضبط زاوية التدوير يدويًا. من خلال الاستفادة من Aspose.OCR لـ Python عبر .NET، يمكنك بسهولة تضمين هذه الميزة في تطبيقات Python الخاصة بك. في حالة وجود أي غموض، فلا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا