28.10.2014, 17:54
(Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2014 17:59 von Ifnotdefine.)
Beitrag #1
|
Ifnotdefine
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Oct 2014
DE_EN
2013
DE_EN
|
Filteralgorithmus ohne Vision Module
Hallo zusammen,
ich versuche gerade die Filteralgorithmen für die Bildverarbeitung ohne NI Vision Development Module zu implementieren. Leider komme ich nicht weiter.
Ich habe aus einem Bild Pixel-werte generiert und möchte jetzt gerne die Werte mit jeweils unterschiedlichen Filtern (Medianfilter,Mitelwert usw) verarbeiten.
Das Problem ist, dass LabView mir die vorgefertigten Filtern zur Verfügung stellt aber nur auf der Basis der Vision Module.
Question : wie kann die Filteralgorithmus implementieren, sodass ich auf die Vision Module verzichte und das Ergebnis auf das Bild anwenden kann?
Beispiel : Formel: t({n1,n2,...nk}) = n(k+1)/2
f1(k)=11,12,11,9,13,15,14
= 9,11,11,12,13,14,15
med{f1(k)} = 12
SW : Lv 2013 Sp1
Ich hoffe mich verständlich ausgedrückt zu haben und freue mich auf eure Antwort und Bemühung.
Mfg
|
|
|
28.10.2014, 18:10
Beitrag #2
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: Filteralgorithmus ohne Vision Module
(28.10.2014 17:54 )Ifnotdefine schrieb: ...
Ich habe aus einem Bild Pixel-werte generiert und möchte jetzt gerne die Werte mit jeweils unterschiedlichen Filtern (Medianfilter,Mitelwert usw) verarbeiten.
Das Problem ist, dass LabView mir die vorgefertigten Filtern zur Verfügung stellt aber nur auf der Basis der Vision Module.
Question : wie kann die Filteralgorithmus implementieren, sodass ich auf die Vision Module verzichte und das Ergebnis auf das Bild anwenden kann?
Hallo,
QUESTION?!
Du bist ja lässig.
Aber zum eigentlichen Problem:
Wenn es dir schon gelungen ist, diskrete Werte aus deinem Bild zu extrahieren, dann kannst du diese Werte auch filtern, mitteln und sonst noch was. In der Palette Signalverarbeitung findest du jede Menge Funktionen / VIs dazu. GGf. musst du dein 2D-Array noch in ein 1D-Array wandeln, oder das ganze in einer Schleife abhandeln.
Gruß, Marko
|
|
|
29.10.2014, 16:41
Beitrag #3
|
Ifnotdefine
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Oct 2014
DE_EN
2013
DE_EN
|
RE: Filteralgorithmus ohne Vision Module
Hey Marko,
danke für deine schnelle Antwort, ich hatte mir schon diese Filter in der Palette "Signalverarbeitung" angeschaut. Das Problem ist , dass im Code eine externe Bibliothek aufgerufen wird.
Daher kann ich genauer nicht nachvollziehen, wie es von Prinzip her funktioniert.
Im Anhang habe ich markiert, was ich oben beschrieben habe.
Vielleicht kann mir jemand Hinweise geben.
Danke euch
Gruß
|
|
|
29.10.2014, 16:47
(Dieser Beitrag wurde zuletzt bearbeitet: 29.10.2014 16:49 von GerdW.)
Beitrag #4
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Filteralgorithmus ohne Vision Module
Hallo If,
für solche Fälle gibt es die LabVIEW-Hilfe, die die meisten Funktionen doch ganz gut erläutert.
So z.B.:
Zitat:Problem ist , dass im Code eine externe Bibliothek aufgerufen wird.
Wieso ist das ein Problem für dich?
Und diese DLL gehört zu LabVIEW, ist also streng genommen keine "externe Bibliothek"…
|
|
|
29.10.2014, 16:51
Beitrag #5
|
|
|
05.11.2014, 12:38
Beitrag #6
|
Ifnotdefine
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Oct 2014
DE_EN
2013
DE_EN
|
RE: Filteralgorithmus ohne Vision Module
Danke für die Antwort,
ich möchte sage ich mal aus einem 2D Array (bestehend aus 500Werte) ein 3x3 Filter(Mittelwertfilter) anwenden und das ganze das Array durchlaufen sowohl Richtung Spalten als auch Zeilen.
Wie kann ich das mit For-schleifen oder was anderes in LabView realisieren?
Danke für eure Antwort
|
|
|
05.11.2014, 12:41
(Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2014 12:41 von GerdW.)
Beitrag #7
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Filteralgorithmus ohne Vision Module
Hallo,
mal etwas Pseudocode:
Code:
FOR x = 0 TO ArrayXSize-1
FOR y = 0 to ArrayYSize-1
get ArraySubset(x-1, 3, y-1, 3)
result = calc with 3×3-Filter-Array
ReplaceArraySubset(x,y, result)
NEXT y
NEXT x
Also wie in jeder anderen Programmiersprache auch…
|
|
|
05.11.2014, 15:40
Beitrag #8
|
Ifnotdefine
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Oct 2014
DE_EN
2013
DE_EN
|
RE: Filteralgorithmus ohne Vision Module
Danke für die schnelle Antwort,
den Programmcode habe ich ja schon selber in text basierten Sprachen gemacht aber die Umsetzung mit LabView fällt mir schwer, habe eigentlich nicht viele Erfahrung mit LabView. Es wäre nett, wenn ich schon ein Beispiel hätte. Dann könnte ich zu meiner Anwendung anpassen.
Danke sehr
|
|
|
05.11.2014, 15:50
Beitrag #9
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Filteralgorithmus ohne Vision Module
Hallo IfNot,
so in etwa:
Hier noch ohne Fehlerbehandlung (Randbetrachtung!). Den Rahmen "deine Rechnung" darfst du durch etwas sinnvolles ersetzen…
|
|
|
05.11.2014, 22:58
|
Ifnotdefine
LVF-Grünschnabel
Beiträge: 18
Registriert seit: Oct 2014
DE_EN
2013
DE_EN
|
RE: Filteralgorithmus ohne Vision Module
Sehrrrrrrr gut ,
vielen Dank GerdW
|
|
|
| |