2012-10-11 25 views
8

Tôi đang sử dụng OpenCV để xử lý ảnh được chụp bằng điện thoại di động. Các hình ảnh có chứa văn bản và chúng có một lượng nhỏ chuyển động mờ, mà tôi cần phải loại bỏ.Thuật toán giải mã nào phù hợp nhất để loại bỏ chuyển động mờ khỏi văn bản?

Thuật toán khả thi nhất để sử dụng là gì? Tôi đã thử nghiệm cho đến nay Lucy-Richardson và Weiner deconvolution, nhưng họ không mang lại kết quả khả quan.

Trả lời

4

Chuyển động mờ là một vấn đề khó khắc phục. Kết quả tốt nhất có được là khi

  1. Tốc độ của máy ảnh tương đối đến hiện trường được biết đến
  2. Bạn có nhiều hình ảnh của các đối tượng bị mờ mà bạn có thể tương quan.

Bạn có một lợi thế chính là bạn đang xem văn bản (thường tạo thành các tính năng tương phản cao). Nếu bạn chỉ áp dụng deconvolution cho độ tương phản cao (tôi biết rằng lý thuyết thường để loại trừ độ tương phản cao) các khu vực của hình ảnh của bạn, bạn sẽ nhận được kết quả có thể cho phép bạn nhận dạng tốt hơn các ký tự. Ngoài ra một sự kết hợp của các bộ lọc sắc nét/làm mờ trước/sau xử lý có thể giúp đỡ.

Tôi nhớ đã bị ấn tượng với this paper trước đó. Có lẽ một sự thích nghi trong việc thực hiện của họ sẽ đáng để đi.

0

Bạn không thể loại bỏ chuyển động mờ. Thông tin bị mất mãi mãi. Những gì bạn đang đối phó với là một CCD đang ghi nhiều đối tượng thực vào một điểm ảnh duy nhất, bôi nhọ chúng lại với nhau. Nói cách khác, nếu pixel đọc 56, bạn không thể kỳ diệu xác định rằng số đọc thực tế phải là 37 vào thời điểm 1 và 62 tại thời điểm 2 và 43 tại thời điểm 3.

Một cách khác để xem xét điều này: hãy tưởng tượng bạn có 5 hình ảnh. Sau đó, bạn sử dụng photoshop để pha trộn các hình ảnh với nhau, tính trung bình giá trị của mỗi pixel. Bây giờ bạn có thể bằng cách nào đó từ hình ảnh pha trộn cho biết những hình ảnh ban đầu 5 là gì? Không, bạn không thể, bởi vì bạn không có thông tin để làm điều đó.

+7

Không đúng, nếu bạn có thể ước tính chức năng truyền điểm (PSF) thì bạn có thể áp dụng thuật toán giải mã (như các trạng thái OP trong tiêu đề) để nâng cao hình ảnh. – TheJuice

+0

Tôi đoán nó phụ thuộc vào định nghĩa của bạn về "tăng cường". Là một vấn đề thực tế, bạn không thể deblur một hình ảnh trong bất kỳ cách nào mà một người bình thường sẽ coi là một cải tiến đáng kể. Deconvolution chỉ liên quan từ quan điểm thực tế khi bạn có một chuyển đổi tín hiệu đã biết. Một chuyển động mờ là một chức năng hỗn loạn cao mà bạn sẽ không thể xác định bất kỳ mức độ hữu ích, ngoại trừ trong một số ví dụ phòng thí nghiệm contrived. –

+1

Một hình ảnh kỹ thuật số điển hình của thế giới thực có rất nhiều dự phòng, đó là lý do tại sao bạn có thể phục hồi từ nhiều phép biến đổi có nghĩa là mất thông tin không thể đảo ngược khi áp dụng cho hình ảnh với sự phân bổ tối đa. – enobayram

1

Tôi nghĩ rằng việc ước tính hàm lan truyền điểm của bạn có thể quan trọng hơn thuật toán được sử dụng. Nó phụ thuộc vào loại chuyển động mờ bạn đang cố gắng loại bỏ, chuyển động tuyến tính có thể dễ dàng nhất nhưng không chắc là loại bạn đang cố gắng loại bỏ: tôi tưởng tượng nó không tuyến tính do chuyển động tay trong khi phơi sáng .

+0

Có, nó không tuyến tính. Khi mọi người nhấn nút máy ảnh, bàn tay của họ dường như đẩy nhanh máy ảnh trong thực tế. Vì vậy, chắc chắn có một thành phần phi tuyến tính. – sashoalm

6

Đồng ý với @TheJuice, vấn đề của bạn nằm trong ước tính PSF. Thông thường để có thể làm điều này từ một khung hình duy nhất, một số giả định cần phải được thực hiện về các yếu tố dẫn đến mờ (chuyển động của đối tượng, loại chuyển động của cảm biến, v.v.).

Bạn có thể tìm thấy một số gợi ý, đặc biệt là trong trường hợp một chiều, here. Họ sử dụng một phương pháp lọc mà phần lớn là mối tương quan từ mờ, loại bỏ mối tương quan không gian của hình ảnh ban đầu, và sử dụng điều này để suy ra hướng chuyển động và từ đó PSF. Đối với những vết mờ nhỏ, bạn có thể xem xét chuyển động là hằng số; nếu không bạn sẽ phải sử dụng một mô hình chuyển động tăng tốc phức tạp hơn. Thật không may, mờ điện thoại di động thường là một hợp chất tích hợp CCD và chuyển động phi tuyến tính (dịch vuông góc với đường ngắm, ngáp từ chuyển động cổ tay và xoay quanh cổ tay), vì vậy phương pháp của Yitzhaky và Kopeika có thể sẽ chỉ mang lại lợi nhuận kết quả chấp nhận được trong một số ít trường hợp. Tôi biết có những phương pháp để đối phó với điều đó ("nhận thức sâu sắc" và khác) nhưng tôi chưa bao giờ có dịp giải quyết chúng.

Bạn có thể xem trước kết quả bằng phần mềm khôi phục ảnh như Focus Magic; trong khi họ không sử dụng ước tính YK (mô tả chuyển động được để lại cho bạn), thì luồng công việc còn lại nhất thiết phải rất giống nhau. Nếu ảnh của bạn có thể khôi phục Lấy nét ma thuật, thì có thể là Phương pháp YK sẽ hoạt động. Nếu họ không (hoặc không đủ, hoặc không đủ của họ để được giá trị), sau đó không có điểm thậm chí cố gắng để thực hiện nó.

+0

Tôi đã thử Focus Magic trên [một trong các mẫu thử nghiệm của tôi] (http://i.imgur.com/6Txyq.png) và [đây là đầu ra] (http://i.imgur.com/No1s0.png). Tôi đã sử dụng cho các thông số bước 6 và 70 độ, nhưng đầu ra dường như thực sự hơi tồi tệ hơn. Bạn có nghĩ rằng YK có thể làm tốt hơn thế không? – sashoalm

Các vấn đề liên quan