hiện tại tôi đang gặp nhiều khó khăn khi nghĩ đến phương pháp loại bỏ độ dốc khỏi hình ảnh tôi nhận được.xóa độ dốc của hình ảnh mà không có hình ảnh so sánh
Hình ảnh là hình ảnh được chụp bằng máy ảnh kính hiển vi có ánh sáng chói ở giữa. Hình ảnh có hình mẫu xuyên suốt hình ảnh. Tuy nhiên tôi phải loại bỏ ánh sáng chói trên hình ảnh được tạo ra bởi ánh sáng camera.
Thật không may do tính chất của máy ảnh, bạn không thể chụp ảnh trên nền đen bằng ánh sáng để tìm phân phối gradient. Tôi cũng không có một hình ảnh so sánh mà không có gradient. (lưu ý- vị trí của ánh sáng chói sẽ luôn luôn là nhất quán khi ảnh được chụp)
Nói một cách dễ dàng hơn, giống như có ảnh với đèn flash trong đó nhưng tôi muốn loại bỏ flash. Vấn đề duy nhất là tôi không có cách nào để có được hình ảnh mà không có đèn flash để so sánh hoặc thậm chí có được một hình ảnh màu đen chỉ với đèn flash trên đó.
Suy nghĩ hiện tại của tôi là tiến hành dò tìm cạnh và lấy mẫu ở các vị trí cụ thể cách xa các cạnh (do sự khác biệt về màu sắc) và sử dụng nó để đo độ phân bố của gradient vì các khu vực đó có màu tương đối giống nhau. Tuy nhiên tôi đã tự hỏi nếu có một cách dễ dàng hơn và tốt hơn để làm điều này.
Nếu cần, tôi sẽ đăng ví dụ về hình ảnh sau.
Hiện tại tôi có một cách thích hợp để giải quyết điều này trong C++ bằng cách sử dụng opencv nếu điều đó giúp bạn dễ dàng hơn.
cảm ơn trước vì bất kỳ ý tưởng có thể cho vấn đề này. Nếu có một liên kết, hướng dẫn, hoặc bài có thể giải quyết vấn đề của tôi, tôi sẽ đánh giá rất cao bài viết.
như bạn có thể nói đó là một thats ánh sáng được shinned trên img như bạn có thể nói từ đốm trắng. và đầu là nhẹ hơn so với bottome do ánh sáng màu bên trong hình bầu dục là thực sự khác nhau khi hình ảnh được chụp bằng màu sắc. Tuy nhiên, màu sắc giữa hộp và hình bầu dục phải là chất kết dính. Ý tưởng ban đầu của tôi là có lẽ mẫu chỉ những khu vực một số cách và xây dựng một hồ sơ mà tôi có thể sử dụng để loại bỏ ánh sáng, nhưng tôi không chắc chắn có hiệu quả như thế nào mà có thể hoặc nếu có một cách tốt hơn
EDIT:
Vâng, tôi đã thử đề xuất của Roger và kết quả là cực kỳ tốt. Sử dụng 110 hạt nhân gaussian blurr để tìm ánh sáng và tiến hành CLAHE trên đó. (cả hai được thực hiện trong opencv)
Tuy nhiên, số liệu của tôi nói với tôi rằng hình ảnh không đồng nhất và chỉ ra xung quanh khu vực có ánh sáng sáng hơn một chút. Ông đề nghị thử một vùng chọn mờ gaussian blur nơi các khu vực phía trên các giá trị ngưỡng điểm nhất định không bị mờ trong khi phần còn lại của hình ảnh bị mờ.
Có ai có ý kiến về vấn đề này và có lẽ là liên kết, hướng dẫn hoặc ví dụ về điều gì đó như thế này đang được thực hiện không?Hầu hết những điều tôi thấy có xu hướng chọn lọc mờ cho các chương trình như photoshop và gimp
EDIT2:
rất khó để nói chỉ với đôi mắt nhưng tôi tin rằng tôi đã đạt được tương đối gần thống nhất bằng cách sử dụng thuật toán lắp ghép mặt phẳng đơn giản ((- A * x - B * y)/C) (x, y, z) trong đó z là giá trị pixel. Tôi nghĩ rằng điều này có thể được cải thiện bằng cách sử dụng có lẽ một chức năng phù hợp sin? tôi không chắc chắn. Nhưng tôi khá hài lòng với kết quả. Rất cám ơn Roger vì những ý tưởng tuyệt vời.
Tôi tin rằng sử dụng một loạt ảnh và nhận được avg sẽ là một phương pháp tốt khác (được gợi ý bởi roger) nhưng Unofruntely tôi không thể thực hiện điều này vì tôi không được cung cấp nhiều hình ảnh và máy đang được sửa đổi vì vậy tôi không thể sử dụng nó.
Bạn có thể thử sử dụng hiệu ứng Gaussian blur với một hạt nhân rất lớn để biến đổi hình ảnh của bạn thành một xấp xỉ của gradient nền. Khó nói mà không nhìn thấy hình ảnh. –
liệu sự phân bố bằng hiệu ứng nhòe có đủ hiệu quả để hoàn toàn tạo ra sự phân bố độ sáng ngay cả trong img không? – user2427671
Tôi rất thích câu hỏi này và câu trả lời của nó.Tôi đã đăng một câu hỏi tương tự (http://stackoverflow.com/questions/19035835/correct-image-for-local-dark-light-spots-equalise-luminance-intensity-loca) một tháng trước, nhưng câu trả lời ở đây là nhiều tốt hơn. – Leo