Strona 1 z 1
Zmiana obrazu kolorowego na skalę szarości
: 05 lut 2013 16:33
autor: Zenny
Witam, piszę ponieważ mam problem, z przetwarzaniem obrazu. Działanie programu polega na tym, że wyświetla on na bieżąco obraz z kamery, w momencie przyciśnięcia przycisku 1 zbiera z kamery pojedynczą sekwencję, w momencie przyciśnięcia buttona nr 2 wykonuje drugie zdjęcie. Następnie chciałbym, żeby obrazy te odjęły się od siebie. Kamerka jest kolorowa, a ja chcę operować na obrazach 8 bitowych więc Konwertuje je z koloru na skalę szarości i do tablic. Ogólnie program działa do momentu konwersji obrazu na tablicę za pomocą bloczka Image To Array, wyskakuje error: Not an image. Zrobiłem osobny program który wczytuje dwa obrazy, gdzie jeden jest kolorowy (RGB) i zamiany na skalę szarości za pomocą bloczka ExtractSingleColorPlane VI, po czym program odejmuje je i w tym przypadk wszystko działa. W załączniku przesyłam program działający - Cam_odejmowanie2.vi i program nie działający Cam_odejmowanie3.vi. Zastanawiałem się czy może to być spowodowane przesyłaniem obrazu przez pętle Case Structure? Z góry dzięki wielkie za zainteresowanie i pomoc.
Zmiana obrazu kolorowego na skalę szarości
: 05 lut 2013 18:02
autor: ruda
Hej
Też kiedyś robiłam podobny projekt w którym odejmowałam od siebie kolejne obrazy pobierane z kamery w formacie RGB
Przesyłam fragment mojego kodu, może się przyda
Re: Zmiana obrazu kolorowego na skalę szarości
: 05 lut 2013 20:18
autor: Zenny
A czy w Twój program też rejestrował sekwencje wybrane przez użytkownika, czy pobierał obrazy automatycznie co jakiś czas?
Zmiana obrazu kolorowego na skalę szarości
: 05 lut 2013 20:43
autor: ruda
Pobierał automatycznie (2 kolejne), ale i tak musiałam jeden obraz trzymać w buforze (wiec tu tylko róznica kiedy wpisujesz obraz do bufora) ja zrobiłam bufor w postaci Functional Global Variable ale myśle że sam shift rejestr też wystarczy
Re: Zmiana obrazu kolorowego na skalę szarości
: 05 lut 2013 21:09
autor: Zenny
No właśnie mam problem z przechowywaniem tych obrazów. Myślałem, żeby zrobić to za pomocą shift rejestr, ale nie działają one w pętli case, której używam. Nigdy nie pracował na zmiennych globalnych więc jakbyś mogła podesłać fragment programu to byłoby super.
Re: Zmiana obrazu kolorowego na skalę szarości
: 05 lut 2013 21:16
autor: patka
Zapomniałeś w pierwszej i drugiej ramce w stanach
false utrzymywać referencje do obu obrazków. Dlatego wystarczyło jedno przejście przez false (czyli moment kiedy nie klikałeś guzika), żeby obrazek zgubić. Skoro nic tam nie podłączyłeś to domyślnie wysyłałeś puste referencje, więc nie ma co się dziwić, że dla pustej referencji wyskakuje "Not an image"
W drugim wypadku działa, bo program zrobiłeś zdecydowanie czytelniej i sam się w nim nie zgubiłeś
Dlatego np. do obsługi przycisków lepiej używaj struktury Event, wtedy na pewno nie zapomnisz o stanach false.
/A swoją drogą tych referencji też tam nie potrzebujesz aż tyle, to Ci tylko zaciemnia program.
Re: Zmiana obrazu kolorowego na skalę szarości
: 06 lut 2013 21:59
autor: Zenny
Ok udało mi się, program działa tak jak chciałem. Na bieżąco rejestrowany jest obraz z kamery USB i za pomocą dwóch przycisków wykonywane są dwa zdjęcia, a następnie za pomocą trzeciego program odejmuje je od siebie. Wrzucam link gdyby ktoś w przyszłości potrzebował.