INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Array Elementweise einlesen und mittels Schwellwert ändern



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.07.2015, 11:40
Beitrag #1

DaniusM Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2015

2011
2015
kA



Array Elementweise einlesen und mittels Schwellwert ändern
Hallo zusammen,

ich habe ein Problem:

Ich habe ein Graustufenbild 2688x1520 in ein 2D Array gewandelt und möchte nun jedes Element prüfen, ob der Grauwert >230 ist und wenn ja ein Binär-Array erzeugen.
Anbei mein Aufbau. Allerdings hab ich das Problem, dass mein Ausgangsarray immer leer (0) ist

Kann mir jemand helfen, bzw den Fehler entdecken?
Danke vorab, Grüße.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2015, 11:50 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2015 11:53 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array Elementweise einlesen und mittels Schwellwert ändern
Hallo Danius,

was immer hilft, ist ein VI statt eines Bildes anzuhängen.
Und was auch immer hilft, ist einmal Ctrl-U zu drücken, bevor man ein Bild oder VI hochlädt…

Wieso wird dein 2D-Array mit den Bilddaten in ein 3D-Array umgewandelt?
Warum nutzt du nicht einfach die Autoindizierung, um die Pixel auszulesen?
Warum nutzt du nicht einfach die Autoindizierung, um dein boolsches Array zu erstellen?
Warum nutzt du ReplaceArraySubset ohne Schieberegister? THINK DATAFLOW!
Warum nutzt du nicht einfach Polymorphie, um die Graustufe zu testen?
Kurz: Was soll diese riesige FOR-Loop bewirken?

   

Edit: Herzlich wollkommen! Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2015, 11:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2015 12:10 von jg.)
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Array Elementweise einlesen und mittels Schwellwert ändern
Es ist schwierig, in einem Array der Größe 0x0x0 ein Element zu ersetzen. Sad

Gruß, Jens

EDIT: Korrektur: Größe 1x0x0x0 ... Hilfe, ein 4D-Array, wozu meinst du, dass du das brauchst?

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2015, 11:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2015 11:53 von Trinitatis.)
Beitrag #4

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Array Elementweise einlesen und mittels Schwellwert ändern
Polymorphie ist das Stichwort Smile


Gruß, Marko
Verdammt!
gleich 2 mal zu spät.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2015, 06:29
Beitrag #5

DaniusM Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Jul 2015

2011
2015
kA



RE: Array Elementweise einlesen und mittels Schwellwert ändern
Hallo zusammen,

danke für die Antworten, passt jetzt soweit.

Ich möchte jetzt noch die >230 Pixel in dem entstandenen Binär Array zählen.

Ich habe eine True-case Struktur in die Schleife genommen und wollte darin bei jeder 1 inkrementieren, allerdings erhöht sich mein Inkrement bei mehr als 2 oder mehr aufeinanderfolgenden 1en nicht.

Habt ihr eine Idee?

Kann leider kein VI hochladen, da LV auf einem anderen Rechner läuft und der unten im Labor ist.

Danke.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2015, 07:05 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2015 07:05 von jg.)
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Array Elementweise einlesen und mittels Schwellwert ändern
Glas1 Weil du kein Schieberegister verwendest? Think Dataflow!

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.07.2015, 07:36 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2015 07:40 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array Elementweise einlesen und mittels Schwellwert ändern
Hallo Danius,

Zitat:Ich möchte jetzt noch die >230 Pixel in dem entstandenen Binär Array zählen.
Das kann man Element für Element auszählen.
Man kann aber auch das boolsche Array per "boolean to 0/1" in Zahlen umwandlen und einfach mit der Summenfunktion zusammenaddieren.
(Angesichts deiner Arraygröße würde ich zeilenweises konvertieren und summieren vorschlagen.)

So:
   

Ansonsten: Jens' Hinweis beachten und LabVIEW lernen. Sowas wird in den Einsteigerkursen erläutert!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2016, 11:06
Beitrag #8

ThomasS. Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2015

2014
-
DE



RE: Array Elementweise einlesen und mittels Schwellwert ändern
Hallo Zusammen,

Mein Name ist Thomas und bin neu was die Programmierung mit LabVIEW angeht.


Zu meinem Problem. Ich muss ebenfalls Bilder auswerten. Die Anzahl der Bilder variiert dabei je nach Aufnahme. Das Einlesen der Bilder und das auslesen der Pixel habe ich auch schon geschafft.

Ich möchte, dass jedes 2D Array was entsteht untersucht wird, ob es einen Wert über 120 beinhalten, wenn nicht, dann wird das Array gelöscht und wenn es einen Wert enthält soll das Array weitergegeben werden. Ich habe hier das Problem, dass er mit bei der Case-Struktur einen Fehler ausgibt. Mit ist siweit bewusst, das der Vergleich auch ein 2D Array ausgibt, jedoch habe ich keine Lösung wie ich das machen kann.

Sie haben zwei Elemente unterschiedlichen Typs miteinander verbunden einmal ein 2D array und boolean.

Im Anhang ist einmal das Block-Diagramm und einmal ein Struktogramm, damit ihr wirklich wisst, was ich meine.

Ich hoffe ihr könnt mir helfen Smile


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2016, 11:23 (Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2016 11:25 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Array Elementweise einlesen und mittels Schwellwert ändern
Hallo Thomas,

herzlich willkommen im LabVIEW-Forum!

Zitat:Sie haben zwei Elemente unterschiedlichen Typs miteinander verbunden einmal ein 2D array und boolean.
Es gibt da Funktionen wie "OR array elements", die in solchen Fällen hilfreich sind.
Oder man macht einen Rechtsklick auf die Vergleichsfunktion und ändert den Vergleichsmodus! Steht auch in der LabVIEW-Hilfe zur Vergleichsfunktion

Zitat:einmal ein Struktogramm, damit ihr wirklich wisst, was ich meine.
Zur Umsetzung dieses Struktogramms: Du löscht zwar das Array, aber du ignorierst es nicht. (THINK DATAFLOW!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.01.2016, 11:32
Beitrag #10

ThomasS. Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2015

2014
-
DE



RE: Array Elementweise einlesen und mittels Schwellwert ändern
Hallo Gerd,

vielen Dank für die schnelle Antwort. Es hat geklappt! Also nochmal ein dickes Danke.

Bezüglich des Strucktogramms: Da auch nochmal ein Danke. Ich habe das sofort geändert.

Gruß,

Thomas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Schwellwert bei jedem Graph giwreh 10 5.346 08.09.2022 13:07
Letzter Beitrag: hajos118
  1D-Array in 2D-Array mittels for-Schleife hama29 7 5.622 28.07.2016 11:54
Letzter Beitrag: GerdW
  Boolean Array Farbe ändern TDO 12 10.679 14.06.2016 16:34
Letzter Beitrag: Freddy
  Nachkommastellen abgeschnitten beim einlesen einer csv-datei in ein array noled 2 4.881 02.12.2015 16:37
Letzter Beitrag: noled
  Array durchsuchen und ändern Fry12 3 4.582 27.10.2014 10:37
Letzter Beitrag: Fry12
  Werte und Größe eines 2D-Array´s ändern xrzr 7 10.159 06.07.2014 18:09
Letzter Beitrag: GerdW

Gehe zu: