Chcę jak najlepiej zrekonstruować tekst z poniższego obrazu. Problem polega na tym, że chcę to zrobić tylko za pomocą operacji morforycznych na obrazie
Próbowałem używać erozji, dylatacji, otwierania i zamykania, ale wynik nie jest zbyt dobry.
Czy to w ogóle możliwe?
image-processing
morphological-operations
Jackobsen
źródło
źródło
Odpowiedzi:
Jeśli chcesz dodawać / odejmować itp. Obrazy przekształcone morfologicznie, możesz policzyć, ile pikseli sygnałowych znajduje się w pobliżu każdego piksela, i próg na podstawie tej liczby.
Jeśli następnie splot z maską 3x3 z otworem pośrodku, możesz uzyskać coś takiego:
źródło
To dość interesujący problem do rozwiązania! Wypróbuj filtr mediany . Zobacz referencje tutaj i tutaj, aby uzyskać więcej informacji.
Chociaż nie podniosłem rąk, aby zasymulować twój problem, jest to sugestia. Moje przeczucie mówi, że może to dać wielką korzyść, ponieważ wiadomo, że przeciwdziała hałasowi typu sól i pieprz. W twoim przypadku obrazy mają dodatkowe białe kropki wokół granicy, które albo zostaną przekonwertowane na pełną biel, albo na pełną czerń, w zależności od tego, po której stronie alfabetu jest. Oto jak wygląda po filtrowaniu median:
źródło
Jeśli z jakiegoś powodu jesteś ograniczony do operacji morfologicznych, możesz rozważyć użycie „schematu głosowania” zorientowanych operacji zamknięcia.
Jednym z problemów związanych z operacjami morfologicznymi jest to, że tak naprawdę nie uwzględniają one kierunkowości. W przypadku środkowego piksela taka okolica
tak naprawdę nie różni się od takiej dzielnicy
Może to powodować problemy, ponieważ dylatacja i erozja nie są ukierunkowane w sposób ukierunkowany, gdy może się to podobać. Jedną rzeczą, którą możesz zrobić, to znaleźć najbardziej odpowiednią ukierunkowaną stronniczo operację morfologiczną za pomocą jąder, takich jak te:
Byłoby lepiej w przypadku jąder 5 x 5, ale myślę, że pomysł jest wystarczająco jasny. Zasadniczo idea jądra do wykrywania narożników jest nieco rozciągnięta, tak że jest to jądro do wykrywania segmentów linii. Można go również użyć do znalezienia najlepiej dopasowanych krzywych:
Oczywiście prowadzi to do ogromnej liczby jąder, ale jeśli podstawowy pomysł działa, to obiecuje, że istnieje sposób na zoptymalizowanie techniki, tak aby jądro najlepiej dopasowane znalazło się w jednym przejściu.
W każdym razie, jeśli używasz wielu jąder i pewnej logiki, każda operacja w (x, y) wymaga więcej obliczeń niż tradycyjny krok morfologiczny:
Rozmiar jądra musi być dopasowany do wielkości danych wejściowych. Zamiast używać większego jądra, możesz użyć jądra „rozprzestrzeniania”, aby zmniejszyć liczbę operacji. Poniższe jądro to tylko jądro 3 x 3 o promieniu większym niż 1.
źródło