Witaj gościu, Jeśli czytasz tę wiadomość to znaczy że nie jesteś zarejestrowany. Kliknij i zarejestruj się by w pełni korzystać z wszystkich funkcji naszego forum.

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Piszemy prymitywny program dla CCD
#1
Nawiązując do wątku "Piszemy prymitywne planetarium" chciałbym zainteresowanym zaproponować napisanie programu obsługującego kamerki CCD, kilka miesięcy temu przez przypadek znalazłem komponenty dla Delphi "VideoLab 3.1" http://www.mitov.com/html/products.html wykonane w technologii OpenWire czyli programowanie metodą przeciągnij i upuść, praktycznie bez pisania kodu można stworzyć program, przykładowo wrzucam na okienko Delphi mikrofon, potem głośnik, następnie łącze je ze sobą, klikam play i pięknie gra.

Nie planowałem pisania takiego programu, ale ponieważ jest to takie proste napisałem szybko własny programik o wdzięcznej nazwie "Live WebCam DSP" 1.0

Pobierz:
http://www.balerinki.republika.pl/Live%2...%201.0.zip

[Obrazek: ekran1.GIF]

[Obrazek: ekran2.GIF]

O ile dużo jest na rynku programów do stackowania i obróbki fotek zgranych na dysk, to brakuje takich działających w czasie rzeczywistym, mój program właśnie realizuje ten cel, oglądamy na żywo ruchomy obraz z kamerki, który został uśredniony z 8 klatek ma odjęte czarne ramki i zastosowane inne filtry odszumiające. Można zatem oglądać znakomitej jakości obraz na żywo bez hot pikseli jeśli komuś np.: nie chce się wstawać i chodzić do okna sprawdzać jaka jest pogoda lub transmitować go do internetu tu polecam program "HyperSnap-DX 5" wysyłający fragment okienka na serwer.

Dodatkowe funkcje to wybór, która klatka czerwona, zielona czy niebieska ma być widoczna jako szara bo np.: w mojej kamerce klatka czerwona jest najjaśniejsza, lub obrót obrazu bo np.: w mojej kamerce obraz obrócony jest jaśniejszy i zawsze musiałem oglądać odwrócony teraz mogę go softwerowo obrócić by był normalny. Można usuwać hot piksele poprzez odejmowamie czarnych ramek te niestety wymagają stałej temperatury dlatego można je usuwać bez czarnych ramek przy pomocy filtra wybierającego minimum z 2 sąsiednich pikseli, można też usuwać czarne dziury po źle odjętych hot pikselach przy pomocy filtra wybierającego maksimum z dwóch sąsiednich pikseli, czarne dziury od hot pikseli powstają w wyniku odejmowania darków gdy nie wyłączymy krzywej gamma wewnątrz kamerki. Polecam wyłączyć tą krzywą wewnątrz kamerki i włączyć ją softwerowo w moim programie. Ograniczeniami tego programu jest fakt że dokonuje on operacji na 8 bitach, dlatego żeby sumowane 8 klatek nie spowodowało prześwietlenia trzeba w parametrach obrazu przed sumowaniem ustawić kontrast na 1/8 = 0.125 to jednak powoduje że spada nam ilość odcieni z 256 do 32. Trzeba zatem wybrać kompromis.

Odejmowanie darków działa tylko raz, nie wiem dlaczego, by zmienić darka trzeba zamknąć i uruchomić program ponownie.

Przycisk parametry kamery dotyczy ustawień wewnątrz kamerki, natomiast grupa suwaków "Parametry podglądu" dotyczy programowego zmieniania parametrów obrazu bez ingerowania w ustawienia wewnątrz kamerki, grupa "Parametry podglądu" znacznie zwiększa zakres regulacji obrazu w stosunku do tego co oferuje nam kamerka np.: w mojej kamerce kontrast reguluje się w zakresie od 1 do 2, a dzięki mojemu programowi można go zwiększyć od 1 do 12,5.

Należy sprawdzić poprawność stackowania 8 klatek w programie, ruszając kamerką, obiekty powinny się składać z 8 ustawionych obok siebie "cieni", fajnie też wyglądają samochody jako smugi, a piesi niczym duchy.

Aby opcja 2 FPS działała trzeba włączyć w kamerce funkcję "Low Light" wydłużającą czasy do 1/2 sek jeśli taka funkcja w ogóle istnieje.

Wymagania programu to procesor 600MHz.

Poniżej link do kodu źródłowego programu dla Delphi 7 (który jest darmowy z możliwością instalowania komponentów). Ze względu na słabą moc obliczeniową mojego kompa nie wykorzystałem wszystkich filtrów odszumiających znajdujących się w komponentach VideoLab na prawdę kupa efektów video tam jest to samo się tyczy większych rozdzielczości czy możliwości identyfikowania i śledzenia obiektów w komponentach VisionLab przydatnych do automatycznego dopasowywania przesuwających się obrazów gwiazd, których to możliwości nie wykorzystałem.

http://www.balerinki.republika.pl/Project1.zip
Odpowiedz
#2
Witam,
Winszuję zacięcia i pomysłowości. Jestem początkujący w dziedzinie fastrofoto i taki program nie wzbudza u mnie zniechęcenai jak inne tego typu programy do stakowania. Sama funkcjonalność jest prosta i napewno pomoże wielu amatorom początkującym jak i doświadczonym w prost sposób wyruszyć na nocne łowy. Gratuluję i pozdrawiam Smile
"To co teraz widzisz to przeszłość tym starsza, im lepszy masz wzrok" -dj_peterka. Rurka: Newton 70/700 no-name, Super Plossl 10mm, aparat małpa Panasonic DMC-LS60, montaż: głowica kulowa w imadle Smile
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości