|
|
Pixel für verschiedene Farben zählen |
|
ElektrischeBahnen |
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 19.12.17
|
|
|
|
Wohnort: DD
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.12.2017, 22:35
Titel: Pixel für verschiedene Farben zählen
|
|
Hallo liebe Leute,
Mich beschäftigt folgendes Problem:
Ich erstelle in AutoCAD verschiedene Trassen für Straßenbahnen. Dafür werden verschiedene Layer erstellt.
Beispielsweise;
Oberleitung [120,0,30]
Häuser [150,30,70]
Schiene [0,0,255]
Danach werden für verschiedene Perspektiven einzelne Bilder im png - Format in Matlab exportiert. Bis hierhin alles kein Problem.
Nun komme ich zu meiner eigentlichen Frage. Weiss jemand eine Möglichkeit wie ich nun aus dem Bild die jeweilige Anzahl an Pixeln für die oben genannten Layer (anhand der gegebenen Farbwerte) herausfinden kann?
Also wie viele Pixel haben den Farbwert [120,0,30] zum Beispiel?
Vielen Dank im voraus.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 20.12.2017, 11:32
Titel:
|
|
Hallo,
du hast also ein mxnx3 - Array in MATLAB?
Dann
Grüße,
Harald
|
|
|
ElektrischeBahnen |
Themenstarter
Forum-Newbie
|
|
Beiträge: 2
|
|
|
|
Anmeldedatum: 19.12.17
|
|
|
|
Wohnort: DD
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.12.2017, 08:51
Titel:
|
|
Harald hat Folgendes geschrieben: |
Hallo,
du hast also ein mxnx3 - Array in MATLAB?
Dann
Grüße,
Harald |
Vielen Dank Harald! Das ist genau was ich gesucht habe . Hatte zwischendurch schon eine andere Variante gefunden, aber deine ist besser!
Habe es jetzt mal mit deiner Version an den Unifarben durchprobiert, also bspw. 255,255,0 und es funktioniert . Dankeschön und schöne Weihnachten dir!
im= imread('K1.png');
numSchwarz = nnz( im(:,:,1) == 0 & im(:,:,2) == 0 & im(:,:,3) == 0 )
numWeiss = nnz( im(:,:,1) == 255 & im(:,:,2) == 255 & im(:,:,3) == 255)
numRot = nnz( im(:,:,1) == 255 & im(:,:,2) == 0 & im(:,:,3) == 0 )
numGruen = nnz( im(:,:,1) == 0 & im(:,:,2) == 255 & im(:,:,3) == 0 )
numBlau = nnz( im(:,:,1) == 0 & im(:,:,2) == 0 & im(:,:,3) == 255 )
numGelb = nnz( im(:,:,1) == 255 & im(:,:,2) == 255 & im(:,:,3) == 0 )
imshow(im);
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|