Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
28.10.2014, 17:54 (Dieser Beitrag wurde zuletzt bearbeitet: 28.10.2014 17:59 von Ifnotdefine.)
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.
(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.
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.)
Viele Signalverarbeitungs-VIs von NI verwenden die lvanlys.dll. Was darin bzw in den Funktionen der DLL genau passiert, wirste auch nicht rauskriegen.
Aber was ist das Problem daran?
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
Anzeige
05.11.2014, 12:41 (Dieser Beitrag wurde zuletzt bearbeitet: 05.11.2014 12:41 von GerdW.)
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…
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.