Hình ảnh Deskew trong Python | Chỉnh sửa độ lệch hình ảnh trong Python

Nếu bạn đang tìm cách căn chỉnh chính xác nội dung nghiêng trong hình ảnh thì bạn đã đến đúng nơi. Trong bài viết này, chúng ta sẽ tìm hiểu cách thực hiện chỉnh sửa độ lệch trong xử lý hình ảnh bằng Python. Chúng tôi sẽ hướng dẫn bạn những điều cơ bản về hiệu chỉnh độ lệch trong Python. Chúng tôi sẽ đề cập đến cách phát hiện độ lệch trong hình ảnh, cách tính góc nghiêng và cách xóa hình ảnh của bạn theo chương trình bằng Python.

Bài viết này bao gồm các chủ đề sau:

  1. Chỉnh sửa độ lệch hình ảnh
  2. API chỉnh sửa độ lệch Python
  3. Phát hiện độ lệch trong Python
  4. Chỉnh sửa độ lệch tự động
  5. Hình ảnh DeSkew theo cách thủ công
  6. Chỉnh sửa độ lệch - Tài nguyên miễn phí

Chỉnh sửa độ lệch hình ảnh

Chỉnh sửa nghiêng trong xử lý hình ảnh, còn được gọi là deskewing, là quá trình căn chỉnh hình ảnh bị nghiêng hoặc lệch để làm cho nó trông hấp dẫn hơn và dễ làm việc hơn. Tình trạng lệch có thể xảy ra do nhiều lý do, chẳng hạn như quét không đúng cách, biến dạng phối cảnh hoặc căn chỉnh sai máy ảnh, như minh họa trong hình ảnh bên dưới:

Hình ảnh bị lệch

Hình ảnh nguồn.

API Python cho hình ảnh Deskew

Aspose.OCR là thư viện OCR được sử dụng rộng rãi, cho phép thực hiện OCR trên hình ảnh được quét, ảnh trên điện thoại thông minh, ảnh chụp màn hình, các vùng của hình ảnh và tệp PDF được quét bằng nhiều ngôn ngữ lập trình khác nhau, bao gồm cả Python. Chúng tôi sẽ sử dụng API Aspose.OCR for Python thông qua .NET để chỉnh sửa độ lệch.

Vui lòng tải xuống gói hoặc cài đặt API từ PyPI bằng cách sử dụng lệnh pip sau trong bảng điều khiển:

pip install aspose-ocr-python-net

Phát hiện góc nghiêng trong Python

Chúng ta có thể dễ dàng phát hiện góc nghiêng của chữ trong ảnh bằng cách thực hiện theo các bước dưới đây:

  1. Tạo một thể hiện của lớp AsposeOCR.
  2. Khởi tạo một đối tượng của lớp OcrInput.
  3. Thêm hình ảnh vào lô nhận dạng OcrInput.
  4. Gọi phương thức tính toánskew(). Nó lấy đường dẫn hình ảnh làm đối số.
  5. Hiển thị góc nghiêng được tính toán.

Mã mẫu sau đây cho biết cách phát hiện góc nghiêng của hình ảnh trong Python.

import aspose.ocr as ocr

# Khởi tạo API Aspose.OCR
api = ocr.AsposeOcr()

# Thêm hình ảnh vào lô nhận dạng
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE)
img.add("D:\\Files\\source.png")

# Phát hiện góc nghiêng
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°

Tự động sửa lỗi nghiêng trong Python

Chúng ta có thể kích hoạt tính năng tự động chỉnh sửa độ lệch và lưu hình ảnh đã chỉnh sửa bằng cách thực hiện theo các bước bên dưới:

  1. Tạo một thể hiện của lớp AsposeOCR.
  2. Khởi tạo một đối tượng của lớp PreprocessingFilter.
  3. Thêm bộ lọc autoskew().
  4. Sau đó, thêm hình ảnh vào lô nhận dạng và áp dụng bộ lọc xử lý bằng lớp OcrInput.
  5. Cuối cùng, gọi phương thức ImageProcessing.save() để lưu hình ảnh đã xử lý vào thư mục đường dẫn đã chỉ định.

Mã mẫu sau đây cho biết cách áp dụng tính năng tự động sửa độ lệch bằng bộ lọc tiền xử lý trong Python.

import aspose.ocr as ocr

# Khởi tạo API Aspose.OCR
api = ocr.AsposeOcr()

# Khởi tạo xử lý hình ảnh
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(filters.auto_skew())

# Thêm hình ảnh vào lô nhận dạng và áp dụng bộ lọc xử lý
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Lưu hình ảnh đã xử lý vào thư mục "kết quả"
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")
Tự động điều chỉnh độ lệch bằng bộ lọc trong Python

Tự động điều chỉnh độ lệch bằng bộ lọc trong Python.

Chỉnh hình ảnh thủ công bằng Python

Để hiệu chỉnh độ lệch thủ công, chúng ta có thể xác định góc nghiêng theo cách thủ công bằng cách thực hiện theo các bước bên dưới:

  1. Tạo một thể hiện của lớp AsposeOCR.
  2. Khởi tạo một đối tượng của lớp PreprocessingFilter.
  3. Thêm bộ lọc xoay().
  4. Sau đó, thêm hình ảnh vào lô nhận dạng và áp dụng bộ lọc xử lý bằng lớp OcrInput.
  5. Cuối cùng, gọi phương thức ImageProcessing.save() để lưu hình ảnh đã xử lý vào thư mục đường dẫn đã chỉ định.

Mã mẫu sau đây cho biết cách xóa hình ảnh theo cách thủ công trong Python.

import aspose.ocr as ocr

# Khởi tạo API Aspose.OCR
api = ocr.AsposeOcr()

# Khởi tạo xử lý hình ảnh
filters = ocr.models.preprocessingfilters.PreprocessingFilter()
filters.add(ocr.models.preprocessingfilters.PreprocessingFilter.rotate(5.8))

# Thêm hình ảnh vào lô nhận dạng và áp dụng bộ lọc xử lý
img = ocr.OcrInput(ocr.InputType.SINGLE_IMAGE, filters)
img.add("D:\\Files\\source.png")

# Lưu hình ảnh đã xử lý vào thư mục "kết quả"
ocr.ImageProcessing.save(img, "D:\\Files\\Output\\")

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử Aspose.OCR for Python qua .NET mà không bị giới hạn về đánh giá.

Chỉnh sửa độ lệch - Tài nguyên miễn phí

Bên cạnh việc triển khai tính năng chỉnh sửa độ lệch hình ảnh trong Python, bạn có thể khám phá thêm API Python OCR bằng cách sử dụng các tài nguyên sau:

Phần kết luận

Trong bài viết này, chúng ta đã học cách căn chỉnh chính xác các hình ảnh nghiêng bằng cách sử dụng tính năng chỉnh sửa độ nghiêng hình ảnh trong Python. Chúng ta đã thấy cách làm mờ hình ảnh bằng phương pháp tự động và bằng cách đặt góc xoay theo cách thủ công. Bằng cách tận dụng Aspose.OCR for Python thông qua .NET, bạn có thể dễ dàng nhúng tính năng như vậy vào các ứng dụng Python của mình. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm