Nie sądzę, aby moja była kompletną odpowiedzią, ale dam ci to, co wiem, a ponieważ jest to witryna edytowana przez społeczność, mam nadzieję, że ktoś wkrótce udzieli mi bezpłatnej odpowiedzi :)
Adaptacyjne metody progowe to te, które nie wykorzystują tego samego progu na całym obrazie .
Jednak w przypadku niektórych prostszych zastosowań czasem wystarczy wybrać próg za pomocą metody inteligentniejszej niż najprostsza metoda iteracyjna . Metoda Otsu jest popularną metodą progową, która zakłada, że obraz zawiera dwie klasy pikseli - pierwszy plan i tło oraz ma bimodalny histogram . Następnie próbuje zminimalizować ich łączny spread (wariancja wewnątrz klasy).
Najprostsze algorytmy, które można uznać za naprawdę adaptacyjne metody progowe, to te, które dzielą obraz na siatkę komórek, a następnie stosują prostą metodę progową (np. Iteracyjną lub metodę Otsu) na każdej komórce, traktując ją jako osobny obraz (i przypuszczalnie dwumodalny histogram). Jeśli nie można przekroczyć progu obrazu podrzędnego, można zastosować próg z jednej z sąsiednich komórek.
Alternatywnym podejściem do znalezienia lokalnego progu jest statystyczna analiza wartości intensywności lokalnego sąsiedztwa każdego piksela . Próg jest inny dla każdego piksela i obliczany na podstawie jego lokalnego sąsiedztwa ( możliwa jest mediana, średnia i inne opcje). Istnieje funkcja tego rodzaju metod zawartych w bibliotece OpenCV w cv::adaptiveThresholding
funkcji.
Znalazłem inną podobną metodę o nazwie Bradley Local Thresholding . Bada także sąsiedztwo każdego piksela, ustawiając jasność na czarny, jeśli jasność pikseli jest t procent niższa niż średnia jasność otaczających pikseli. Odpowiedni artykuł można znaleźć tutaj .
Ta odpowiedź na przepełnienie stosu wspomina lokalną (adaptacyjną) metodę progową o nazwie Niblack, ale wcześniej o niej nie słyszałem.
Wreszcie, jest metoda, której użyłem w jednym z moich wcześniejszych mniejszych projektów, zwanej Próg Obrazu przez Optymalizację Minimax Wariacji . Jest to metoda iteracyjna, polegająca na optymalizacji funkcji energii, która jest nieliniową kombinacją dwóch składników. Jeden element ma na celu obliczenie progu na podstawie pozycji najsilniejszych zmian intensywności na obrazie. Drugi element ma na celu wygładzenie progu w obszarach granicznych (obiektowych). Okazało się dość dobre na obrazach instrumentów analogowych (różne cieniowanie i odbicie od szkła / plastiku), ale wymagało starannego wyboru liczby iteracji.
Późna edycja : zainspirowany komentarzem do tej odpowiedzi . Jest jeszcze jeden sposób na obejście nierównych warunków oświetleniowych. Napiszę tutaj o jasnych obiektach na ciemnym tle, ale to samo rozumowanie można zastosować, jeśli sytuacja jest odwrotna. Przekrocz próg białej transformacji obrazu ze stałym progiem zamiast oryginalnego obrazu . Biały cylinder obrazu to tylko różnica między obrazem a jego otwieraniem . Jako dalsze wyjaśnienie pozwólcie, że zaoferuję cytat z P. Soille: Analiza obrazu morfologicznego :fγ(f)
Otwarcie oryginalnego obrazu dużym kwadratowym SE usuwa wszystkie istotne struktury obrazu, ale zachowuje funkcję oświetlenia. Biały cylinder oryginalnego obrazu lub odjęcie funkcji oświetlenia od oryginalnego obrazu powoduje wyświetlenie obrazu o jednorodnym oświetleniu.