Làm cách nào để loại bỏ độ chói và độ sáng trong ảnh (Tiền xử lý ảnh)?


19

Tôi có một hình ảnh

nhập mô tả hình ảnh ở đây

Có cách nào để loại bỏ các đốm trắng sáng? Xin hãy giúp đỡ

Biên tập:

Sau khi hoạt động với gaussian và sau đó hiển thị bằng hình ảnh, nhận được kết quả đầu ra sau đây cho thấy rõ các đốm đỏ sáng Làm thế nào để tôi thoát khỏi chúng

nhập mô tả hình ảnh ở đây

Kênh đỏ:

nhập mô tả hình ảnh ở đây

Kênh Xanh:

nhập mô tả hình ảnh ở đây

Kênh màu xanh:

nhập mô tả hình ảnh ở đây

Chỉnh sửa 2:

Phát hiện lỗi bằng bộ lọc Gabor

nhập mô tả hình ảnh ở đây

Biểu đồ của nó:

nhập mô tả hình ảnh ở đây

Làm thế nào để tính ngưỡng thích hợp của nó một cách thích nghi.?


Là thiết lập của đèn được biết đến?
hải quân

Không thực sự, có cách nào để loại bỏ những điểm này thông qua bộ lọc vv?
vini

4
Nói chung, đây là một vấn đề đặt ra. Bạn có quá nhiều điều chưa biết và sẽ phải dùng đến một giải pháp dựa trên kinh nghiệm. Chúc may mắn chọn một câu trả lời.
hải quân

Câu trả lời:


19

Giả sử các phần chói là khu vực bão hòa duy nhất trong ảnh. Phát hiện có thể được thực hiện bằng cách ngưỡng cường độ (mã trong Mathicala):

saturated = Binarize[ColorConvert[img, "Grayscale"], .9]

nhập mô tả hình ảnh ở đây

Sau đó, chúng ta chỉ cần thay thế các phần của hình ảnh xung quanh mặt nạ bão hòa (mở rộng mặt nạ được thực hiện bởi chức năng hình thái Dilation). Inpainting bằng cách sử dụng tổng hợp kết cấu (sử dụng hàm Inpaint) dường như hoạt động tốt trong ví dụ này, mặc dù tôi không thể kiểm tra nó như là đầu vào cho thuật toán phát hiện lỗi của bạn:

Inpaint[img, Dilation[saturated, DiskMatrix[20]]]

nhập mô tả hình ảnh ở đây


Có một phương pháp inpaint trong matlab?
vini

Xin lỗi, tôi không biết câu trả lời cho điều đó.
Matthias Odisio

Việc phát hiện lỗi là hoàn hảo tuy nhiên việc thực hiện bắt buộc phải được thực hiện vì không có chức năng tích hợp nào trong MATLAB
vini

1
Tôi vui mừng vì câu trả lời đã giải quyết vấn đề. Đối với việc in mờ trong matlab, điều đó có lẽ rất phù hợp cho một câu hỏi độc lập về SO. Xem stackoverflow.com/search?q=matlab+inpainting khi bắt đầu.
Matthias Odisio

2
Inpainting có thể được thực hiện với Hướng dẫn thường được gọi là "Trộn hình ảnh Poisson" ở đây , mã Matlab và các ví dụ ở đây .
Maurits

4

Đây có thể là một chút của một câu trả lời đơn giản, nhưng bạn có thể chỉ cần ngưỡng? ví dụ:

img = imread('daRNS.png');
imflat = img; 
imflat(img>150) = 150; 
imagesc(imflat)

kết quả trong:

hình ảnh phẳng

Rõ ràng sẽ tốt hơn nếu chọn ngưỡng thích ứng. Ví dụ, bạn có thể nhìn vào biểu đồ hình ảnh:

hist(double(img(:)),0:255)

biểu đồ

và cố gắng chọn một ngưỡng thích hợp dựa trên đó.


vui lòng kiểm tra chỉnh sửa của tôi 2
vini

@vini Hãy thử xem phần giới hạn trong đó 90% tín hiệu được giải thích
tdc

tôi chỉ có thể đạt ngưỡng nhưng mục tiêu cuối cùng của tôi là phát hiện lỗi .. điều đó không giúp ích gì nếu tôi vượt qua nó
vini

3
Nhưng câu hỏi của bạn là "Làm thế nào để loại bỏ độ chói và độ sáng trong ảnh (tiền xử lý ảnh)?" không phải làm thế nào để phát hiện khuyết điểm, đó là một câu hỏi khác (khó hơn). @mrkulk dưới đây dường như đã cung cấp một câu trả lời gần như hoàn chỉnh cho câu hỏi đó cũng như bên dưới.
tdc

vâng câu hỏi của tôi là bây giờ tôi làm thế nào để phát hiện ra khuyết điểm tuy nhiên ánh sáng chói này cản trở kết quả
vini

2

nhập mô tả hình ảnh ở đâyKhông có thông tin chiếu sáng thì rất khó. Tuy nhiên, nếu biết hình dạng của đối tượng trong ảnh, bạn có thể thiết lập mẫu hình dạng của ánh sáng chói trắng (gaussian) và thực hiện một cửa sổ trượt để tìm khả năng phát hiện ánh sáng chói (tiếp theo là pha màu từ khu vực lân cận). Nhận thức, chúng tôi suy ra hình dạng 3D từ hình ảnh bằng cách sử dụng bóng. Nếu hình dạng từ bóng râm có thể cho độ dốc bề mặt, chúng ta có thể thực hiện một cửa sổ trượt và kiểm tra mẫu chói của chúng ta tại mỗi vị trí.

Sau khi phát hiện cạnh canny: -

nhập mô tả hình ảnh ở đây

Về cơ bản, sự chồng lấp (vùng chồng lấp tối đa) giữa hình ảnh # 1 và # 2 sẽ là khiếm khuyết.


Mô tả những gì tôi đang cố gắng thực hiện - Tôi đang áp dụng bộ lọc gabor chủ yếu được sử dụng cho phân đoạn kết cấu để tìm khuyết điểm của trái cây, tuy nhiên ánh sáng chói gây ra vấn đề vì bộ lọc hiển thị hai đốm trắng cũng là một khiếm khuyết tiềm năng mà tôi không muốn
vini

bạn đã thử chỉ lấy các kênh riêng lẻ (từ RGB hoặc YUV) và chỉ hoạt động trên chúng?
mrkulk

Hình ảnh rõ nhất là hình ảnh trong kênh màu xanh lá cây .. Làm thế nào để tôi vận hành và sửa nó?
vini

Tôi đã thử chụp ảnh cạnh (canny) với ngưỡng 0,5. Như dự đoán, tôi không thấy ánh sáng chói trong ảnh. Điều này sẽ cung cấp cho bạn một ưu tiên mạnh mẽ cho các khu vực KHÔNG chứa ánh sáng chói.
mrkulk

Làm thế nào nó sẽ giúp tôi trong việc tạo ra một hình ảnh miễn phí chói?
vini

0

Ý kiến ​​của tôi là đây là một vấn đề về thị giác máy, trong đó bạn nên kiểm soát ánh sáng và có ý tưởng tốt về độ sáng tối đa của độ sáng pixel không chói trong ảnh. Phát hiện khuyết tật nói chung là một vấn đề về thị giác máy hơn là vấn đề về thị giác máy tính.

Những gì chúng ta thấy là kết quả của ánh sáng là sự bổ sung các phản xạ ánh sáng và khuếch tán của ánh sáng (cộng với một số phát xạ nhưng không đáng kể ở đây).

Thành phần đặc biệt là ánh sáng chói, trên bề mặt sáng bóng như quả táo này, nó nhiều hơn nhiều so với sự phản xạ khuếch tán (> 10 x)

Điều này có nghĩa là nếu bạn thiết lập ánh sáng, tăng và phơi sáng trước đó, trên bề mặt khuếch tán, bạn có thể chắc chắn rằng không có gì thậm chí gần với bão hòa. Vì vậy, sử dụng ngưỡng cố định thực sự là giải pháp ưa thích ở đây, miễn là bạn đã chứng minh đủ dữ liệu rằng "không có pixel nào không chứa ánh sáng chói" sẽ vượt quá ngưỡng. Về bản chất, bạn đang thiết lập các điều kiện ánh sáng và các tham số camera sao cho việc phân loại pixel trở nên tầm thường, trong trường hợp này được thực hiện bởi một ngưỡng đơn giản, thay vì chức năng phức tạp hơn của máy ảnh được tìm thấy xung quanh nó.

Tôi thích cách tiếp cận của "vini", không cần thiết phải hiển thị các mặt phẳng RGB. Chỉ cần một ngưỡng thang độ xám đơn giản sẽ thực sự hoạt động ở đây.

1- bạn thiết kế các điều kiện ánh sáng, không xung quanh

2- làm cho công việc phân loại cực kỳ tầm thường (ngưỡng)

3- đo tính năng

4- so với dung sai


0

Chuyển đổi sang không gian màu phòng thí nghiệm trước, mapminmax, sau đó sử dụng kênh độ sáng đầu tiên. Điều đó làm giảm các vấn đề màu sắc. Sau đó sử dụng một số ngưỡng trên pixel sáng nhất 80%. Kiểm tra và kiểm tra độ nhúng trong biểu đồ, ngưỡng tốt nhất là gần đáy của nhúng. Nếu không có min địa phương trong khu vực này, hình ảnh của bạn có thể có độ phản chiếu tối thiểu ...... Martin

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.