Jak znaleźć przesunięcie kanału kolorów obrazu RGB, który miał być w skali szarości?


9

Używam urządzenia nagrywającego, które wydaje się przesuwać kolory w poziomie i chciałbym znaleźć ilość nierozpoznawania, którą muszę zrobić na 2/3 kanałów, aby uzyskać obraz przy minimalnym zniekształceniu kolorów.

uchwycony obraz

Widać tutaj, że na oryginalnym obrazie przynajmniej niebieski kanał został przesunięty do tyłu o ~ 1.0 piksela.

wprowadź opis zdjęcia tutaj

Pytanie brzmi: jak mogę wykryć optymalne wartości przesunięcia, jestem pewien, że nie są to liczby całkowite.


Który z tych obrazów jest zarejestrowany z twojego urządzenia?

Odpowiedzi:


4

Wygląda na to, że koncepcyjnie jesteś prawie na miejscu:

  • Jako odniesienie weź jeden z trzech kanałów kolorów (na przykład: czerwony)
  • Dopasuj zielony do czerwonego
  • Dopasuj niebieski do czerwonego

Problemem jest zatem dopasowanie z dokładnością do subpikseli. Uzyskanie znaczących liczb jest nieco trudne, ponieważ błędy interpolacji dowolnej metody będą miały wpływ na dokładność.

Są dwie użyteczne metody rejestracji obrazów, o których mogę myśleć:

  1. Rejestracja obrazu Lucas-Kanade . Użycie interpolacji liniowej może nie dać wystarczająco dokładnych wyników, więc rozważ metody bicubic lub inne. Neil Dodgson ma dobry przegląd. Ważne jest, aby różne przesunięcia podpikselowe jądra interpolacji miały podobny transfer częstotliwości. W przypadku rodziny sześciennej aproksymacja b-splajnu jest w tym przypadku znacznie lepsza niż cattmull-rom.

  2. Najpierw przeskaluj obraz, a następnie wykonaj precyzyjną rejestrację obrazu przy użyciu swojej ulubionej techniki. (powinna wystarczyć korelacja krzyżowa w dziedzinie Fouriera). Działa to tylko wtedy, gdy skalowanie jest wykonywane ostrożnie. Dwuliniowe lub dwububne najprawdopodobniej nie zapewnią wystarczającej dokładności. Mogę wymyślić trzy sposoby:

za. Interpolacja jena . Zobacz równanie 11 jego pracy. Naprawdę wolny, ale optymalny. Chociaż wydaje się, że masz jakiś pseudonim w sygnale, więc założenie, że Yen nie ma pasma, może się nie udać.

b. Oblicz FFT obrazu, zeruj pad wysokie częstotliwości, odwrotnie FFT.

do. Skalowanie nieliniowe. Ponieważ krawędzie są dość ostre, obraz nie jest odpowiednio ograniczony pasmem, co może być głównym ograniczeniem poprzednich metod. W tym przypadku lepsza może być interpolacja kierunkowa zależna od krawędzi .

Po translacji subpikseli między nimi korekcja kanału zielonego i niebieskiego jest już rozwiązana, bez względu na wybraną metodę.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.