تصاویر رومیزی در پایتون | تصحیح انحراف تصویر در پایتون

اگر به دنبال راهی برای چینش صحیح محتوای کج شده در تصاویر هستید، در مکان مناسبی قرار گرفته اید. در این مقاله نحوه اصلاح انحراف در پردازش تصویر با استفاده از پایتون را خواهیم آموخت. ما شما را با اصول اصلاح انحراف در پایتون آشنا خواهیم کرد. ما نحوه تشخیص انحراف در یک تصویر، نحوه محاسبه زاویه انحراف، و نحوه طراحی برنامه‌نویسی تصاویر خود را با استفاده از پایتون پوشش خواهیم داد.

این مقاله موضوعات زیر را پوشش می دهد:

  1. تصحیح انحراف تصویر
  2. Python Skew Correction API
  3. تشخیص انحراف در پایتون
  4. اصلاح خودکار انحراف
  5. DeSkew Images به صورت دستی
  6. تصحیح انحراف - منابع رایگان

تصحیح انحراف تصویر

تصحیح انحراف در پردازش تصویر، همچنین به عنوان deskewing شناخته می‌شود، فرآیندی است که یک تصویر کج یا کج می‌شود تا از نظر بصری جذاب‌تر به نظر برسد و کار با آن آسان‌تر شود. همانطور که در تصویر زیر نشان داده شده است، انحراف ممکن است به دلایل مختلفی مانند اسکن نامناسب، اعوجاج پرسپکتیو یا ناهماهنگی دوربین رخ دهد:

تصویر کج

تصویر منبع

Python API to Deskew Images

Aspose.OCR یک کتابخانه OCR پرکاربرد است که امکان اجرای OCR بر روی تصاویر اسکن شده، عکس های گوشی هوشمند، اسکرین شات ها، نواحی یک تصویر و فایل های PDF اسکن شده را در زبان های برنامه نویسی مختلف از جمله پایتون فراهم می کند. ما از Aspose.OCR برای پایتون از طریق .NET برای اصلاحات انحراف استفاده خواهیم کرد.

لطفاً پکیج را دانلود کنید یا API را از PyPI با استفاده از دستور pip زیر در کنسول نصب کنید:

pip install aspose-ocr-python-net

تشخیص زاویه انحراف در پایتون

با دنبال کردن مراحل زیر می‌توانیم به راحتی زاویه انحراف متن را در یک تصویر تشخیص دهیم:

  1. یک نمونه از کلاس AsposeOCR ایجاد کنید.
  2. یک شی از کلاس OcrInput را راه اندازی کنید.
  3. تصویر را به دسته شناسایی OcrInput اضافه کنید.
  4. متدcalskew() را فراخوانی کنید. مسیر تصویر را به عنوان آرگومان می گیرد.
  5. زاویه انحراف محاسبه شده را نشان دهید.

کد نمونه زیر نحوه تشخیص زاویه انحراف تصویر در پایتون را نشان می دهد.

import aspose.ocr as ocr

# Instantiate 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() را فراخوانی کنید تا تصویر پردازش شده در پوشه مسیر مشخص شده ذخیره شود.

کد نمونه زیر نحوه اعمال تصحیح خودکار انحراف را با یک فیلتر پیش پردازش در پایتون نشان می دهد.

import aspose.ocr as ocr

# Instantiate 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\\")
تصحیح انحراف خودکار با فیلتر در پایتون

تصحیح انحراف خودکار با فیلتر در پایتون.

Deskew Images به صورت دستی در پایتون

برای اصلاح دستی انحراف، می توانیم با دنبال کردن مراحل زیر، زاویه انحراف را به صورت دستی تعریف کنیم:

  1. یک نمونه از کلاس AsposeOCR ایجاد کنید.
  2. یک شی از کلاس PreprocessingFilter را راه اندازی کنید.
  3. فیلتر rotate() را اضافه کنید.
  4. پس از آن، تصویر را به دسته شناسایی اضافه کنید و با استفاده از کلاس OcrInput یک فیلتر پردازش اعمال کنید.
  5. در نهایت متد ImageProcessing.save() را فراخوانی کنید تا تصویر پردازش شده در پوشه مسیر مشخص شده ذخیره شود.

کد نمونه زیر نشان می دهد که چگونه تصاویر را بصورت دستی در پایتون Deskew کنید.

import aspose.ocr as ocr

# Instantiate 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 OCR API را بیشتر بررسی کنید:

نتیجه

در این مقاله یاد گرفتیم که چگونه با استفاده از تصحیح انحراف تصویر در پایتون، تصاویر کج شده را به درستی تراز کنیم. دیدیم که چگونه با استفاده از روش خودکار و با تنظیم دستی زاویه چرخش، تصاویر را به صورت دسک‌تختی نمایان کنیم. با استفاده از Aspose.OCR برای پایتون از طریق دات نت، می توانید به راحتی چنین ویژگی را در برنامه های پایتون خود تعبیه کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید