Đây không phải là một câu trả lời đầy đủ và sắc nét, tuy nhiên, tôi sẽ để lại cho bạn ít nhất một số cách tiếp cận để bạn chiến đấu. (Tôi sẽ rất vui mừng nếu biết bạn có kết quả).
Họ chủ yếu đang cố gắng giải quyết vấn đề tương tự.
a. Xác định vết / vết b. Thay thế vết bẩn bằng những gì đã có ở nơi tắc.
Bản chất của câu hỏi là cố gắng giải quyết vấn đề chính xác (trong một số ý nghĩa).
Đây không phải là chuyện nhỏ. Tuy nhiên, trong cả hai câu hỏi đều có một số mẫu độc đáo mà bạn có thể khai thác.
Trong mọi trường hợp, phần tử chồng chất cần phải được loại bỏ được gọi ở đây là (vết, chói, điểm sáng), lớp phủ có màu sắc / màu sắc độc đáo và khác biệt để phân biệt với các vật / cảnh thông thường.
Trong hầu hết các trường hợp, màu sắc / màu của lớp phủ này sẽ biến mất trong khung cảnh thông thường. Màu kết quả thực tế không thay đổi - tuy nhiên, tốt hơn là mô hình lớp phủ dưới dạng cường độ đơn và màu với độ xuyên sáng liên tiếp Do đó bạn có thể nói pixel kết quả
trong đó là hình ảnh được quan sát và là hình ảnh không bị che khuất mong muốn. Lưu ý, alpha có thể được thay đổi tùy ý qua pixel, nhưng của lớp phủ được coi là gần như không đổi. và
P[x,y]=(1−α[x,y])∗S[x,y]+α[x,y]∗OverlayHue
S~[x,y]=(P[x,y]−OverlayHue∗α~[x,y])/(1−α~[x,y])
P[x,y]S[x,y]OverlayHueS~[x,y]α~[x,y] là các giá trị ước tính theo thuật toán của bạn cho số lượng tương ứng.
Các OverlayHue giá trị có thể được ước tính một cách độc lập bằng cách thủ công phân đoạn vùng điểm ảnh nơi Stain hoặc Flash rõ ràng là thống trị.
Bạn có thể giả sử rằng \ alpha [x, y] nhất quán trên tất cả các kênh (ví dụ R, G, B). Do đó, bạn có thể xác định các thành phần riêng lẻ như sau:
S~R[x,y]=(PR[x,y]−OverlayHueR∗α~[x,y])/(1−α~[x,y])
S~G[x,y]=(PG[x,y]−OverlayHueG∗α~[x,y])/(1−α~[x,y])
S~B[x,y]=(PB[x,y]−OverlayHueB∗α~[x,y])/(1−α~[x,y])
Bạn có thể thấy rằng khi gần bằng 1 ngụ ý rằng lớp phủ hoàn toàn che khuất cảnh và do đó không có ước tính nào về có thể tốt, bạn nên tránh điều đó và giữ một số giá trị tham chiếu để lặp đi lặp lại theo thời gian.~ SαS~
Bạn vẫn có nhiều biến hơn phương trình không may, và đó là do tính chất vật lý của pixel. Một màu nhất định có thể có kết quả do thuộc tính của pixel hoặc do vết bẩn / chói. Đặt cược tốt nhất là bạn bắt đầu với các pixel được xác định trong đó bạn biết rằng là 1 và sau đó phân rã dần dần đoán cho giảm liên tiếp. Qua một số lần lặp, bạn có thể tìm thấy các mẫu.alphaαα
Ngoài ra, để cuối cùng ước tính các điểm đen thuần túy, Bạn cũng có thể áp dụng ràng buộc làm mịn trên các pixel lân cận (ví dụ: cũng như ). ˜ α [x,yS~[x,y]α~[x,y]
Đây có thể không phải là giải pháp hoàn hảo, nhưng có thể tốt hơn rõ ràng hơn so với việc cắt mức pixel hoặc chơi xung quanh với độ bão hòa, v.v ... Tôi chân thành yêu cầu bạn thử làm điều này và cho chúng tôi thấy kết quả (bàn làm việc của tôi hiện đang trong tình trạng lộn xộn nên tôi không thể đừng làm thế
Hi vọng điêu nay co ich.