2010-07-03 25 views
5

Tôi có một bộ sưu tập lớn các hình ảnh được quét và tất cả chúng đều bị lệch, với một vùng màu trắng xung quanh.Làm cách nào để phát hiện (và sửa) nghiêng trong hình ảnh?

Vì vậy, những hình ảnh này có hình chữ nhật màu sắc, được bao quanh bởi một khu vực màu trắng lớn. Vấn đề là các hình chữ nhật màu này không song song với đường viền hình ảnh. Tôi chắc chắn phải có một cách để phát hiện lập trình các hình chữ nhật màu này, để tôi có thể xoay hình ảnh (do đó, không xoay nó) và sau đó cắt nó để chỉ phần thú vị còn lại. Tôi đoán tôi không thực sự chắc chắn quá trình này được gọi là gì, vì vậy tôi đang gặp sự cố khi tìm kiếm giải pháp trên Google.

Có ai biết cách tiếp cận nào khiến tôi bắt đầu không? Bất kỳ thư viện nào ở đó mà tôi nên xem xét? Hoặc tên của một thuật toán có thể hữu ích?

Tôi đang lên kế hoạch sử dụng Java cho dự án này, nhưng tôi chưa thực sự bắt đầu, vì vậy tôi đang mở các đề xuất thư viện bằng bất kỳ ngôn ngữ nào.

Trả lời

3
  • phát hiện biên giới
  • hough transform (nếu tất cả các hình chữ nhật trên một hình ảnh có skew cùng)
  • hình chữ nhật phát hiện đường viền (kết nối thành phần đường viền, khu vực sau đó tối thiểu bounding hình chữ nhật)
+0

Cảm ơn! Một tìm kiếm cho Hough Transform đã dẫn tôi đến http://www.recognition-software.com/image/deskew/ mà không giải quyết được vấn đề của tôi ngay từ đầu, nhưng tôi đã có thể chỉnh sửa mã một chút để có được nó làm việc rất tốt. – pkaeding

+1

Đây là trang bị hỏng. Bạn có thể vui lòng sửa liên kết? –

+0

Được Tess4j xếp vào? – wprl

1

Bạn có thể đặt cũng thử scikit-hình ảnh http://scikit-image.org/docs/dev/auto_examples/.

Đó là thư viện tuyệt vời để chuyển đổi hough, nhưng cũng có các phương pháp khác như chuyển đổi Radon và phép biến đổi hình học cho loại tác vụ này.

Đây là thư viện trăn.

+0

wow, điều này có vẻ rất hữu ích! – pkaeding

1

Alyn là gói của bên thứ ba để phát hiện và sửa lỗi nghiêng trong hình ảnh chứa văn bản. Nó sử dụng Canny Edge Detection và Hough Transform để tìm kiếm skew.

Phát hiện skew, chỉ cần chạy

./skew_detect.py -i image.jpg 

Để khắc phục sự nghiêng, chạy

./deskew.py -i image.jpg -o skew_corrected_image.jpg 
Các vấn đề liên quan