รูปภาพ Deskew ใน Python | การแก้ไขภาพเอียงใน Python

หากคุณกำลังมองหาวิธีจัดแนวเนื้อหาที่เอียงในรูปภาพให้ถูกต้อง แสดงว่าคุณมาถูกที่แล้ว ในบทความนี้ เราจะได้เรียนรู้วิธีแก้ไขภาพเอียงในการประมวลผลภาพโดยใช้ Python เราจะแนะนำคุณเกี่ยวกับพื้นฐานของการแก้ไขการเอียงใน Python เราจะกล่าวถึงวิธีการตรวจจับการเอียงในรูปภาพ วิธีคำนวณมุมของการเอียง และวิธีการจัดวางรูปภาพโดยทางโปรแกรมโดยใช้ Python

บทความนี้ครอบคลุมหัวข้อต่อไปนี้:

  1. แก้ไขภาพเอียง
  2. Python Skew Correction API
  3. การตรวจจับการเอียงใน Python
  4. แก้ไขภาพเอียงอัตโนมัติ
  5. รูปภาพ DeSkew ด้วยตนเอง
  6. การแก้ไขการเอียง - แหล่งข้อมูลฟรี

การแก้ไขภาพเอียง

การแก้ไขภาพเอียงในการประมวลผลภาพหรือที่เรียกว่า Deskewing เป็นกระบวนการจัดแนวภาพที่เอียงหรือเอียงเพื่อให้ภาพดูน่าดึงดูดยิ่งขึ้นและทำงานได้ง่ายขึ้น การเอียงอาจเกิดขึ้นได้จากหลายสาเหตุ เช่น การสแกนที่ไม่เหมาะสม การบิดเบี้ยวของเปอร์สเปคทีฟ หรือการวางแนวกล้องที่ไม่ตรง ดังที่แสดงในภาพด้านล่าง:

รูปภาพเอียง

ที่มาของภาพ

Python API ถึง Deskew Images

Aspose.OCR เป็นไลบรารี OCR ที่ใช้กันอย่างแพร่หลาย ซึ่งอนุญาตให้ดำเนินการ OCR บนรูปภาพที่สแกน ภาพถ่ายสมาร์ทโฟน ภาพหน้าจอ พื้นที่ของรูปภาพ และ PDF ที่สแกนในภาษาการเขียนโปรแกรมต่างๆ รวมถึง Python เราจะใช้ Aspose.OCR for Python ผ่าน .NET API สำหรับการแก้ไขการเอียง

โปรด ดาวน์โหลดแพ็คเกจ หรือ ติดตั้ง API จาก PyPI โดยใช้คำสั่ง pip ต่อไปนี้ในคอนโซล:

pip install aspose-ocr-python-net

ตรวจจับมุมเอียงใน Python

เราสามารถตรวจจับมุมเอียงของข้อความในรูปภาพได้อย่างง่ายดายโดยทำตามขั้นตอนด้านล่าง:

  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°

การแก้ไขการเอียงอัตโนมัติใน Python

เราสามารถเปิดใช้งานการแก้ไขภาพเอียงอัตโนมัติและบันทึกภาพที่แก้ไขแล้วโดยทำตามขั้นตอนด้านล่าง:

  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\\")
การแก้ไขการเอียงอัตโนมัติพร้อมตัวกรองใน Python

การแก้ไขการเอียงอัตโนมัติพร้อมตัวกรองใน Python

รูปภาพ Deskew ด้วยตนเองใน Python

สำหรับการแก้ไขการเอียงด้วยตนเอง เราสามารถกำหนดมุมเอียงได้ด้วยตนเองโดยทำตามขั้นตอนด้านล่าง:

  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 for Python ผ่าน .NET โดยไม่มีข้อจำกัดในการประเมิน

การแก้ไขภาพเอียง - แหล่งข้อมูลฟรี

นอกจากการใช้การแก้ไขภาพเอียงใน Python แล้ว คุณยังสามารถสำรวจ Python OCR API เพิ่มเติมได้โดยใช้ทรัพยากรต่อไปนี้:

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการจัดตำแหน่งภาพที่เอียงอย่างถูกต้องโดยใช้การแก้ไขภาพเอียงใน Python เราได้เห็นวิธีการจัดวางภาพโดยใช้วิธีอัตโนมัติและโดยการตั้งค่ามุมการหมุนด้วยตนเอง ด้วยการใช้ประโยชน์จาก Aspose.OCR for Python ผ่าน .NET คุณสามารถฝังคุณสมบัติดังกล่าวในแอปพลิเคชัน Python ของคุณได้อย่างง่ายดาย ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี

ดูสิ่งนี้ด้วย