30.01.2012, 14:07
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Image to Array, Maximale Aufloesung
Unflatten Pixmap aus der Graphics VI Palette, langt dir das?
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.
|
|
|
23.03.2012, 11:28
|
donkey22
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Mar 2012
11.0
2012
DE
|
RE: Image to Array, Maximale Aufloesung
Hallo Gemeinde,
ich habe das Problem, dass ich in einem 2-D Array (U8)(erstellt aus einer BMP) Pixelfarben vergleichen soll.
Konkret soll ich ein VI erstellen, jedes Pixel des neuen Bildes aus der Differenz seiner direkt horizontal angrenzenden Nachbarn berechnet.
11, 12, 13, 14
21, 22, 23, 24...usw.
Die Werte von 11 und 13 von einander abziehen und daraus entsteht der Wert 12 für das neue Bild.
Für die Randwerte (mit nur einem horizontalen Nachbarn) hatte ich mir vorgestellt diesen zu duplizieren und die Berechnung dann beim n+1. Pixel zu beginnen:
10, 11, 12, 13...
wobei 10=11.
Und dann 10 und 12 verrechnen und 11 fürs neue Bild erzeugen .
Den read.bmp und unflattern Pixmap habe ich bereits gefunden, doch wie komme ich damit weiter??
Über Hilfe wäre ich sehr dankbar!
|
|
|
23.03.2012, 11:45
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Image to Array, Maximale Aufloesung
Hallo Donkey,
- U8 speichern entweder Graustufen oder Indizes einer Farbtabelle. "Pixelfarben" dagegen benötigen üblicherweise 24bit Speicherplatz...
- Der triviale Weg besteht in einer FOR-Loop über jede Zeile im Bild. Für jede Zeile dann jeweils die Pixelwerte indizieren und miteinander verrechnen (auch in einer Schleife).
Zitat:Für die Randwerte ... diesen zu duplizieren
Ich würde nur von Pixel 1 bis n-2 rechnen (Zählung beginnt bei 0 und endet bei n-1 bei n Pixeln pro Zeile)...
|
|
|
23.03.2012, 12:16
|
donkey22
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Mar 2012
11.0
2012
DE
|
RE: Image to Array, Maximale Aufloesung
Hey GerdW,
Das mit den Pixelfarben habe ich falsch gesagt sorry. =) Das VI soll später horizontale Kanten suchen (Bildverarbeitung).
Ich komm nur nicht ganz dahinter wie ich die Graustufen/Indizes miteinander verrechnen kann (also wie ich sie überhaupt aus dem Bild heraus bekomme um mit ihnen zu rechnen).
Dann lege ich eine for loop an und führe dort das 2D Array drauf...
(Tut mir Leid, wenn ich mich anstelle wie ein Anfänger, aber ich bin leider auch einer)
|
|
|
23.03.2012, 12:59
(Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2012 13:00 von GerdW.)
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Image to Array, Maximale Aufloesung
Hallo Donkey,
Zitat:wenn ich mich anstelle wie ein Anfänger, aber ich bin leider auch einer
Hast du den Link in meiner Signatur beachtet?
Vorschlag (ohne besondere Behandlung der Ränder):
Während du das nachprogrammierst, solltest du dir überlegen, wieso/weshalb/warum ich es so vorgemacht habe...
|
|
|
23.03.2012, 13:04
|
|
|
26.03.2012, 11:52
|
donkey22
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Mar 2012
11.0
2012
DE
|
RE: Image to Array, Maximale Aufloesung
Hallo GerdW,
tausend Dank für Deine Hilfen.
(23.03.2012 12:59 )GerdW schrieb: Hast du den Link in meiner Signatur beachtet?
Ja den habe ich gesehen und auch schon durchstöbert. Leider finde ich recht wenig zur Graustufenanalyse etc. von Pixel..
(23.03.2012 12:59 )GerdW schrieb: Während du das nachprogrammierst, solltest du dir überlegen, wieso/weshalb/warum ich es so vorgemacht habe...
Also über read bmp.file und unflatten.pixmap erzeuge ich ein U8 2D-Array. Dieses gibt mir mit dem Matrix size die Anzahl der Durchläufe der for-loops. (Sollte dazu nicht auch die number of rows mit dem N der äußeren for-loop verbunden werden?
So wie ich das verstehe, zeihst du die 2 von der Anzahl Columns ab um den Inhalt des zweitletzten Elements zu erhalten.
Den indicator der inneren for-loop gibt den index für das neue Array und für den zwei Stellen weiter. Diese beiden Inhalte werden Subtrahiert um das neue Element zu erhalten...?
Beim nachprogrammieren habe ich Schwierigkeiten mit dem Array2. Dieses Ding hat bei mir keine Klammern stattdessen aber zwei blaue Rechtecke um U8... und werden hier jetzt schon Graustufen verglichen? Oder benötige ich dazu den "Colors" Ausgang des Unflatten Pixmap Bausteins?
So sieht es bisher bei mir aus...
|
|
|
26.03.2012, 11:59
(Dieser Beitrag wurde zuletzt bearbeitet: 26.03.2012 12:01 von GerdW.)
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Image to Array, Maximale Aufloesung
Hallo donkey,
Zitat:Beim nachprogrammieren habe ich Schwierigkeiten mit dem Array2.
Das könnte daran liegen, dass du eben dort kein Array hast, sondern nur eine skalare Anzeige...
Merke:
Passende Anzeigen erzeugt man einfach durch Rechtsklick auf den Ausgang einer Funktion/Struktur und Wahl von Erzeuge->Anzeige...
Zitat:Sollte dazu nicht auch die number of rows mit dem N der äußeren for-loop verbunden werden?
Nein, nicht nötig. Nachdenken, warum das so ist - und evtl. den Basics-Lehrgang wiederholen, da wird das erläutert...
Zitat:So wie ich das verstehe, zeihst du die 2 von der Anzahl Columns ab um den Inhalt des zweitletzten Elements zu erhalten.
Nein, ich mache das, um nur die "inneren" Pixel einer Zeile zu betrachten - und das sind nunmal 2 weniger als die Zeile insgesamt Pixel hat...
|
|
|
26.03.2012, 12:02
|
donkey22
LVF-Grünschnabel
Beiträge: 17
Registriert seit: Mar 2012
11.0
2012
DE
|
RE: Image to Array, Maximale Aufloesung
Klicke ich aber nach dem Minus mit rechts und Create einen Indikator bekomme ich genau das. (Das klappt auch. Ziehe ich diesen nun aus den zwei For-Loops wird die Verbindung zwischen den äußeren For-Loop und dem Indikator als fehlerhaft angezeigt..
|
|
|
26.03.2012, 12:05
(Dieser Beitrag wurde zuletzt bearbeitet: 26.03.2012 12:05 von GerdW.)
|
GerdW
______________
Beiträge: 17.474
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Image to Array, Maximale Aufloesung
Hallo donkey,
Zitat:durch Rechtsklick auf den Ausgang einer Funktion/Struktur
Noch Fragen?
Der Datentyp ist in der inneren Schleife ein anderer als außerhalb der beiden Schleifen. Warum ist das wohl so?
|
|
|
| |