2010-03-26 54 views
12

Có ai biết nó hoạt động như thế nào và cách sử dụng OpenCV như thế nào? Laplacian có thể được tính toán bằng cách sử dụng OpenCV, nhưng kết quả không phải là những gì tôi mong đợi. Tôi có nghĩa là tôi mong đợi hình ảnh có độ tương phản gần như không đổi ở các vùng nền, nhưng nó có màu đen và các cạnh có màu trắng. Có rất nhiều tiếng ồn, ngay cả sau khi bộ lọc gauss. Tôi lọc hình ảnh bằng bộ lọc gaussian rồi áp dụng laplace. Tôi nghĩ những gì tôi muốn được thực hiện theo một cách khác.Laplacian của Gaussian: nó hoạt động như thế nào? (OpenCV)

Trả lời

16

Laplacian của Gaussian là một bộ lọc phát hiện cạnh; đầu ra là 0 trong các vùng liên tục ('nền') và dương hoặc âm khi có độ tương phản. Lý do tại sao bạn thấy màu đen ở các khu vực nền là vì OpenCV chỉ cung cấp cho bạn đầu ra thô; loại hình ảnh bạn mô tả (màu xám trên nền, với các cạnh dương/âm trong màu đen hoặc trắng) được tạo ra sau khi mở rộng đầu ra thành một phạm vi thích hợp.

Phạm vi đầu ra thay đổi tùy thuộc vào hạt nhân thực tế được sử dụng, nhưng nó luôn phù hợp với phạm vi (-max, +max) xung quanh 0, trong đó max là cường độ đầu ra tối đa của hạt nhân bộ lọc; để có được hình ảnh đầu ra "điển hình", bạn cần phải mở rộng phạm vi đó thành một phạm vi (0, 1) (hoặc (0, 255) nếu bạn đang sử dụng hình ảnh 8 bit).

Bạn có thể thực hiện tỷ lệ cần thiết bằng cách sử dụng hàm cvScale, với 1/(2*max) làm hệ số tỷ lệ và thay đổi 0.5. (Hoặc đối với hình ảnh 8 bit sử dụng thang đo 255/(2*max)128 ca.)

+0

THANKS !!! Thông tin rất hữu ích và nó đã giải quyết được vấn đề của tôi! – maximus

+0

Bạn được chào đón :) – tzaman

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