|
|
Teilbereich in der Matrix eines Bildes überschreiben |
|
theone |
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 24.07.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.07.2019, 13:30
Titel: Teilbereich in der Matrix eines Bildes überschreiben
|
|
Hey zusammen,
ich versuche einen Teilbereich eines Bildes zu überschreiben mit Werten, die ich aus einer BoundingBox erhalten habe. Die BoundingBox gibt mir schließlich nur die Eckpunkte und ich hatte überlegt mit einer doppelten for-Schleife das gesamte Bild "abzutasten". Falls die Bedingung erfüllt ist, dass der x-Wert des Bildes größer als der x1-Wert der BoundingBox ist, aber gleichzeitig auch kleiner als der x2-Wert der BoundingBox ist, soll jeder Pixel den Wert "0" bekommen. Das gleiche muss parallel auch in y-Richtung geschehen.
Bild: Matrix A
BoundingBox: x1: stats(i).BoundingBox(1), x2:stats(i).BoundingBox(2), y1:stats(i).BoundingBox(3), y2:stats(i).BoundingBox(4)
Vielen Dank schonmal im Voraus
Liebe Grüße
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.07.2019, 09:08
Titel:
|
|
Hallo,
sind die Angaben Indizes / Pixel oder etwas anderes? Falls etwas anderes, würde ich sie entsprechend umrechnen, und dann
Annahme: y2 > y1, ansonsten vertauschen. Ebenso für x1 und x2.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
theone |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 24.07.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.07.2019, 09:36
Titel:
|
|
Hallo Harald,
Vielen Dank schonmal. Ich habe das jetzt in meinem Code eingefügt, aber an meinem Bild ändert sich leider nichts.
Es handelt sich um Pixel und ich möchte kleine Bereiche in meinem Bild löschen.
Muss ich anschließend das Bild nochmal als neues Bild definieren?
Liebe Grüße
theone
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 25.07.2019, 11:04
Titel:
|
|
Hallo theone,
Dann kann man die Schleife weglassen:
Zitat: |
an meinem Bild ändert sich leider nichts |
Das sollte die Werte der Matrix A ändern. Was bedeutet nun genau "an meinem Bild"? Wo wird das Bild dargestellt und wieso sollte sich etwas daran ändern, wenn Du A veränderst?
Gruß, Jan
|
|
|
theone |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 13
|
|
|
|
Anmeldedatum: 24.07.19
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.07.2019, 12:19
Titel:
|
|
Hallo Jan,
mein Fehler war, dass die BoundingBox immer mitten im Pixel anfängt. Ich habe jetzt an einem Ende +0,5 addiert und am anderen Ende 0,5 abgezogen.
Aber die Idee, keine For-Schleife zu verwenden ist sehr gut - Vielen Dank.
Liebe Grüße
theone
|
|
|
|
|
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 - 2025
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.
|
|