Mam obraz
Czy jest jakiś sposób na usunięcie jasnych białych plam? Proszę o pomoc dzięki
Edytować:
Po pracy z gaussianem, a następnie wyświetleniu za pomocą imagesc uzyskaj następujący wynik, który wyraźnie pokazuje jasne czerwone plamy Jak się ich pozbyć
Czerwony kanał:
Kanał zielony:
Niebieski kanał:
Edycja 2:
Wykrywanie defektów za pomocą filtra Gabor
Jego histogram:
Jak obliczyć odpowiednio odpowiedni próg.?
image-processing
matlab
vini
źródło
źródło
Odpowiedzi:
Załóżmy, że obszary olśnienia są jedynymi nasyconymi obszarami obrazu. Wykrywanie można przeprowadzić, ustawiając próg intensywności (kod w Mathematica):
Następnie wystarczy tylko wymienić części obrazu wokół maski nasycenia (powiększenie maski odbywa się za pomocą funkcji morfologicznej
Dilation
). Malowanie za pomocą syntezy tekstur (za pomocą funkcjiInpaint
) wydaje się działać dobrze w tym przykładzie, chociaż nie mogę go przetestować jako danych wejściowych do algorytmu wykrywania defektów:źródło
To może być nieco uproszczona odpowiedź, ale czy możesz po prostu przekroczyć próg? na przykład:
prowadzi do:
Oczywiście lepiej byłoby wybrać próg adaptacyjnie. Na przykład możesz spojrzeć na histogram obrazu:
i spróbuj na tej podstawie wybrać odpowiedni próg.
źródło
Bez informacji o oświetleniu jest to trudne. Jeśli jednak kształt obiektu na obrazie jest znany, można ustawić szablon kształtu białego blasku (gaussa) i wykonać przesuwane okno, aby znaleźć możliwe wykrycie blasku (a następnie mieszanie kolorów z sąsiedniego obszaru). Percepcyjnie wnioskujemy o kształcie 3D na podstawie obrazów przy użyciu cieniowania. Jeśli kształt z cieniowania może dać gradient powierzchni, możemy zrobić przesuwne okno i sprawdzić nasz szablon olśnienia w każdym miejscu.
Po wykryciu ostrych krawędzi: -
Zasadniczo nakładanie się (maksymalny obszar nakładania się) między obrazami nr 1 i nr 2 będzie wadą.
źródło
Moim zdaniem jest to problem widzenia maszynowego, w którym powinieneś kontrolować oświetlenie i mieć dobre pojęcie o maksymalnej jasności jasności pikseli bez olśnienia na obrazie. Wykrywanie defektów jest na ogół problemem widzenia maszynowego, a nie problemem widzenia komputerowego.
To, co widzimy w wyniku oświetlenia, to dodatek odbłysków światła i światła rozproszonego (plus pewna emisja, ale tutaj jest znikoma).
Element zwierciadlany to blask, na błyszczącej powierzchni, takiej jak to jabłko, to znacznie więcej niż odbicie rozproszone (> 10x)
Oznacza to, że jeśli wcześniej ustawisz oświetlenie, wzmocnienie i ekspozycję na rozproszonej powierzchni, możesz być pewien, że nic nie będzie nawet bliskie nasycenia. Tak więc stosowanie ustalonego progu jest tak naprawdę preferowanym rozwiązaniem, o ile udowodniono wystarczającą ilością danych, że „żaden piksel nie zawierający odblasku” byłby powyżej progu. Zasadniczo konfigurujesz warunki oświetlenia, a parametry kamery powodują, że klasyfikacja piksela staje się banalna, w tym przypadku wykonywana za pomocą prostego progu, a nie przez bardziej złożoną, wyuczoną maszynowo funkcję otaczających go pikseli.
Lubię podejście „vini”, nie ma potrzeby pokazywania płaszczyzn RGB. Po prostu działałby tutaj prosty próg skali szarości.
1- projektujesz warunki oświetlenia, a nie otoczenia
2 - uczyń zadanie klasyfikacyjne wyjątkowo trywialnym (próg)
3- zmierzyć funkcję
4 - porównać z tolerancją
źródło
Najpierw przekonwertuj na laboratoryjną przestrzeń kolorów, mapminmax, a następnie użyj pierwszego kanału jasności. To zmniejsza problemy z kolorem. Następnie użyj progu dla górnego 80% najjaśniejszego piksela. Sprawdź i przetestuj zanurzenie na histogramie, najlepszy próg znajduje się blisko dolnej krawędzi spadku. Jeśli nie ma lokalnej wartości minimalnej w tym regionie, twój obraz prawdopodobnie ma minimalne odbicia ...... Martin
źródło