Obracanie obrazu z kamery w trzech krokach
Wielu użytkowników przeróżnych systemów spotkało się z ciekawą przypadłością kamer zamontowanych w ich laptopach. Otóż bez wyraźnych przesłanek wyświetlają one obraz obrócony o 180 stopni. Trudno orzec, czy to zemsta zestresowanych i wykorzystywanych pracowników wielkopowierzchniowych fabryk, czy niefrasobliwość producentów a może i błędy w oprogramowaniu. Jednak obraz do góry nogami nie przyjął się na salonach i nadal konserwatywnie wolimy, by kamery odwzorowywały rzeczywistość zgodnie z ową rzeczywistością. A tego w kamerach umieszczonych na opak nie da się uzyskać bez odpowiednich trików.
Temat zamontowanych odwrotnie kamer był już wałkowany wielokrotnie i w tysiącach miejsc, jednak zawsze gdy jest potrzebne rozwiązanie, akurat żadnej z takich porad nie mamy pod ręką. A tymczasem w Linuksie bardzo łatwo przeprowadzić operację, która zmusi kamery standardu UVC do wyświetlania obrazu nie dość, że w poprawnej orientacji to jeszcze z ulepszonymi parametrami.
Krok pierwszy: instalujemy v4l2ucp i ustawiamy opcje
V4l2ucp można nazwać panelem kontrolnym sterownika kamerki. Można za jego pomocą (v4l2ucp) przestawić kilka opcji przynależnych naszemu urządzeniu – w tym także i ułożenie pion/poziom. Ustawiamy co chcemy i jak chcemy (można włączyć sobie podgląd, jak te machinacje wpływają na obraz) i zamykamy program.
UWAGA – niektóre urządzenia mogą nie mieć funkcji obracania/odbijania obrazu – wtedy pozostaje tylko jedno – manualnie przełożyć kamerę jak należy.
Krok drugi: zapisujemy ustawienia
Ten krok jest banalny – za pomocą v4l2ctrl musimy zapisać do jakiegoś pliku ustawienia, które poczyniliśmy powyżej. Zatem:
v4l2ctrl -s ~/.v4l2settings
W ten sposób w naszym katalogu domowym pojawi się plik (ukryty) który wykorzystamy poniżej.
Krok trzeci: wczytujemy profil kamery podczas startu pulpitu
Jak można się łatwo domyślić, skoro v4l2ctrl umożliwia zapisanie ustawień to z pewnością potrafi również je odczytać. Pozostaje nam zatem dodać to polecenie do programów startowych naszej sesji:
v4l2ctrl -l ~/.v4l2settings
Gdzie znajdziemy programy startowe? W ustawieniach systemowych, a jeżeli nasza dystrybucjach tego nie umożliwia, zawsze pozostają nam ręczne poprawki w ~/.config/autostart.
Prawda, że to proste? Niektóre programy posiadają swoje własne opcje do tego celu, ale jeżeli wolimy rozwiązania uniwersalne, to powyższe jest w sam raz. Jedynym elementem wprowadzającym zamieszanie jest brak opcji obracania poziomego/pionowego obrazu w przypadku niektórych modeli kamer. Ale zwykle takie kamery wyświetlają wszystko prawidłowo.
Małe a tak fajnie działa! Kiedyś miałem coś podobnego, ale działało wyłącznie z kamerkami Logitecha i tylko na windzie. Nie myślałem że znów taki wynalazek znajdę.
Co prawda u mnie kamerka nie wymaga korekt geometrii ani orientacji. Ale czasami chce się coś pokazać dokładniej a tu jasność nie pozwala, albo na moment rozmycie wyłączyć. Sprawdziłem, działa.
są też, jakby co, dedykowane przejściówki (powiedzmy, procesorki obrazu w formie adaptera) HDMI obracające o 180*. zwykle się je stosuje w systemach wieloekranowych gdy ściana wideo złożona jest z asymetrycznych monitorów i górna sekcja jest montowana odwrócona dolnym panelem na zewnątrz.