Wyciągnięcie obrazu z ROI do dalszej obrobki

Tematyka związana z tworzeniem aplikacji w LabVIEW do obsługi wizji oraz wszelkich operacji na obrazie.
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

Witam po dluzszej przerwie:)
nie jestem w stanie uzyskac efektu "wyciecia" z obrazu fragmentu znajdujacego sie w ROI (zielony) i poddania go dalszej obrobce (interesujacy mnie fragnment powinien byc kolorowy jak zdjecie po lewej). probowalem juz roznych sposobow ale efekty byly zadne. podejzewam ze trzeba zkozystac z tego bloczka:
dsa.png
ddd.png
przykladowy obrazek do obrobki:
028.jpg
i kod:
Okragle swiatla.vi
(204.27 KiB) Pobrany 446 razy
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: jogurt_owocowy »

nie jestem w stanie uzyskac efektu "wyciecia" z obrazu fragmentu znajdujacego sie w ROI
Zestaw funkcji IMAQ Extract i IMAQ Convert ROI to Rectangle powinien się nadać.

Pozdrawiam
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

wlasnie z tego prubowalem kozystac (co widac na 1 rysunku, ale zamiast tego uzyskuje szare pole 2rys). moze ktos by zucil okiem i zauwazyl jakis gruby blad w rozumowaniu?
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: coolfon »

IMAQ Extract jak bajbardziej działa :)
extract.zip
(36.33 KiB) Pobrany 601 razy
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

udalo mi sie dojsc do tego co bylo nie tak. wniosek taki ze albo LV podaje inaczej wspolzedne niz jest to opisane w "Imaq convert ROI to rectangle" - (Rectangle specifies a rectangular region. The Left, Top, Right, and Bottom coordinates describe a non-rotated rectangle. The Rotation parameter specifies the rotation angle of the rectangle around its center. )
lub tez odczytuje je w innej kolejnosci niz mowi to instrukcja "imaq extract" (Optional Rectangle defines a four-element array that contains the left, top, right, and bottom coordinates of the region to process. The VI applies the operation to the entire image if Optional Rectangle is empty or not connected.)

w takiej konfiguracji dziala jak powinno:)
aaa.png
dobrze mysle:>
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: coolfon »

Radzę jednak błędu poszukać gdzieś w swoim kodzie, bo LabVIEW z całą pewnością podaje współrzędne w kolejności: Left, Top, Right, Bottom. Zobacz sobie załączony przeze mnie przykład.
extract_2.zip
(12.5 KiB) Pobrany 436 razy
Rzuciłem szybko okiem na vi, który zamieściłeś w pierwszym poście. Od razu mówię, że nie wiem, gdzie jest błąd (ani ile ich jest...). Wiem natomiast, że jeśli Left, Top, Right lub Bottom przyjmują ujemne wartości (które w sumie sam im nadajesz), to dobrze nie jest :-Q Reszty nie sprawdzam, bo Twój kod rozmiar przynajmniej 5x6 ekranów, a dziś sobota... :-o Do poprawy!
diagram.png
panel.png
panel.png (1.73 KiB) Przejrzano 14825 razy
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

co do ujemnych wartosci jest to jak najbardziej poprawne w tym przypadku:) niemniej jednak juz wiem na czym polegal wczesniejszy blad. VI juz zostal zmniejszony. swoja droga kwestie robienia podprogramow mozna bylo lepiej rozwiazac gdyz ograniczenie do 28 elementow jest bardzo uciazliwe
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: Pitol »

thorn pisze:(...) swoja droga kwestie robienia podprogramow mozna bylo lepiej rozwiazac gdyz ograniczenie do 28 elementow jest bardzo uciazliwe
:-\ skąd takie ograniczenie?
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

chodzi mi o kontrolki indykatory i property nody. kazdy element jest liczony osobno mimo ze nie wszystkie z nich beda wykozystywane jako wejscia i wyjscia podprogramu co byloby rozsadniejszym rozwiazaniem wg mnie:)
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: Pitol »

jeśli chodzi Ci o liczbę możliwych elementów wejść/wyjść podpinanych do SubVI to zawsze możesz kontrolki grupować w klastry co ograniczy ilość potrzebnych wejść/wyjść... a poza tym zawsze się da tak zorganizować strukturę programu, żeby nie było potrzeby użycia większej ilości wejść/wyjść niż standardowe 4-2-2-4 ;)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

z klastrami bede musial wtedy kiedys sprobowac:) a co do organizacji to z pro-no bylo przejzysciej a teraz gdy sie juz ich pozbylem powstala mi przepiekna pajeczyna polaczen hehe.
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: coolfon »

Co do korzystania z Property Node (bo masz ich w programie od groma i jeszcze trochę ;) ), to jeśli masz ich używać tylko do odczytywania wartości danej kontrolki (Value), to lepiej wykorzystać Local Variable. Dopóki Twój program nie jest jeszcze rozbudowany (w pionie i w poziomie się nie liczy :P ), różnica nie będzie zbyt odczuwalna, ale z czasem nadmierne korzystanie z Property Node'ów może mocno dać się we znaki. Odpal sobie załączony poniżej przykład - zobaczysz, że odczytywanie wartości z Local Variable może być nawet kilkaset (!) razy szybsze :) I to nawet w przypadku zwykłego odczytywania wartości i wyświetlania jej...
property_node_vs_local_variable.vi
(7.14 KiB) Pobrany 459 razy
thorn pisze:a co do organizacji to z pro-no bylo przejzysciej a teraz gdy sie juz ich pozbylem powstala mi przepiekna pajeczyna polaczen hehe.
Pokaż jak to teraz wygląda, to może coś Ci doradzimy :)
Ostatnio zmieniony 24 kwie 2010 14:45 przez coolfon, łącznie zmieniany 1 raz.
Awatar użytkownika
thorn
Posty: 40
Rejestracja: 08 mar 2010 23:02
Wersja środowiska: LabVIEW 8.6

Re: Wyciągnięcie obrazu z ROI do dalszej obrobki

Post autor: thorn »

wyglada to tak i nie sadze bym poki co dokonywal jakis zmian:) poki co priorytetem jest dla mnie dokonczenie calosci projektu. poprawnoscia i szybkoscia dzialania zajmowac sie bede podczas pozniejszych zabaw lub o ile wypali w budapeszcie:) dzieki za przyklad . faktycznie roznica jest spora
Program okrągłe światłą.rar
(103.35 KiB) Pobrany 451 razy
ODPOWIEDZ