Witam
Czy jest możliwość zaznaczenia jednocześnie kilku linii na tym samym obrazie i zapisania ich długości? Najlepiej żeby były to linie ROI, każda w innym kolorze i żeby każda podawała swoje współrzędne. Standardowo można tylko jedną aktywną zaznaczyć, trzymając ctrl można kilka ale już nie podaje ich wartości.
Muszę mierzyć długość kilku linii w wybranej klatce filmu i dalej przenieść to na wykresy. Na razie zrobiłem to tak że zaznaczam jedną linię i sczytuję jej długość przez wciśnięcie przycisku, ale przy trzech liniach i kilkudziesięciu klatkach filmu będzie za dużo klikania myszką ;) a bardzo możliwe że tych linii będzie więcej w pojedynczym momencie.
edit:
Zrobiłem też wersje bez zatwierdzania linii przyciskiem ale cały czas interesuje mnie możliwość wprowadzenia trzech linii na jedno zdjęcie
Zaznaczenie kilku linii na obrazie
Zaznaczenie kilku linii na obrazie
Ostatnio zmieniony 12 gru 2014 20:49 przez mario87, łącznie zmieniany 1 raz.
Zaznaczenie kilku linii na obrazie
Jeśli możesz, to podrzuć swojego vi'a
Re: Zaznaczenie kilku linii na obrazie
Może podpowiecie mi jeszcze co poprawić żeby działał szybciej albo ogólnie jakieś podpowiedzi do konstrukcji
- Załączniki
-
- moje v2.vi
- (200.16 KiB) Pobrany 432 razy
Zaznaczenie kilku linii na obrazie
Hej!
Jeśli chcesz mieć długość wielu linii, które zaznaczasz, możesz zebrać koordynaty każdej z lini, w miejscu gdzie czytałeś Współrzędne Linii (ROI->Global Rectangle), czytać array of clusters Contours, z którego wybierasz koordynaty i z pitagorasa obliczasz długość odcinka (Masz 4 pozycje - od trzeciej odejmujesz pierwszą oraz od czwartej odejmujesz drugą i robisz średnią geometryczną). Niestety nie wiem jak zrobić je wielokolorowymi, ale jeśli się dogrzebię, to dam znać.
Co do konstrukcji programu.
1. Program powinien mieścić się w obrębie jednego monitora, bądź z potrzebą przewijania ale tylko w jednej osi.
2. Modularność. Tam gdzie powtarza Ci się kod (jak przy rysowaniu na XY Graph) stwórz subVI.
3. Controlki oraz Indicatory niech nie będą pokazywane jako ikony (możesz to zmienić w Tools-Options-Block Diagram - Place front panel terminals as icons)
4. Obsługa błędów!
5. Dokumentacja - podpisywanie stałych, podpisywanie dłuższych przewodów, itp itd.
To tak na początek;) W razie dalszych pytań - pytaj;)
Jeśli chcesz mieć długość wielu linii, które zaznaczasz, możesz zebrać koordynaty każdej z lini, w miejscu gdzie czytałeś Współrzędne Linii (ROI->Global Rectangle), czytać array of clusters Contours, z którego wybierasz koordynaty i z pitagorasa obliczasz długość odcinka (Masz 4 pozycje - od trzeciej odejmujesz pierwszą oraz od czwartej odejmujesz drugą i robisz średnią geometryczną). Niestety nie wiem jak zrobić je wielokolorowymi, ale jeśli się dogrzebię, to dam znać.
Co do konstrukcji programu.
1. Program powinien mieścić się w obrębie jednego monitora, bądź z potrzebą przewijania ale tylko w jednej osi.
2. Modularność. Tam gdzie powtarza Ci się kod (jak przy rysowaniu na XY Graph) stwórz subVI.
3. Controlki oraz Indicatory niech nie będą pokazywane jako ikony (możesz to zmienić w Tools-Options-Block Diagram - Place front panel terminals as icons)
4. Obsługa błędów!
5. Dokumentacja - podpisywanie stałych, podpisywanie dłuższych przewodów, itp itd.
To tak na początek;) W razie dalszych pytań - pytaj;)