Verfasst am: 20.08.2018, 14:40
Titel: Bild mit Kreis als RGB-Bild
Hallo liebe Community,
ich habe folgende Aufgabe, siehe Anhang.
Jedoch hab ich keine richtigen Ansätze etwas zu programmieren, habe etwas von viscircles gelesen jedoch weiß ich nicht wie ich das aufgabenbezogen anwenden kann.
Denkansätze wäre von mir:
- die Grenzen von einem Kreis festmachen
- mit einer for-Schleife durch jeden Pixel gehen und alle Kanäle auf 0
- wenn die for-Schleife auf die Grenzen des Kreises stößt hört sie auf
Jemand eine idee wie ich die Grenzen des Kreises fest machen kann?
du hast doch eine ähnliche Frage gestellt, in der es darum ging, einen Bildausschnitt mit einem Kreis zu übermalen. Jetzt ist es genau das umgekehrte.
Die Bedingung ist in Worten: Bildpunkt (x,l) soll von Bildzentrum (zu errechnen aus Zeilen- und Spaltenanzahl) weniger als r entfernt sein. Du solltest dich übrigens für y oder l entscheiden.
Randnotiz: ihr habt anscheinend zu einem großen Teil gelernt, Schleifen zu programmieren. In MATLAB versucht man aber tendenziell, Probleme ohne Schleifen zu lösen.
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 ;)
versuch doch die Teile stückchenweise zusammenzusetzen.
1. Das Bildzentrum kannst du aus height und width bestimmen (jeweils durch 2 teilen). 2. Dann die Formel sqrt( (x1-x2)^2 + (y1-y2)^2 ) verwenden, um den Abstand zwischen momentanem Punkt und Bildzentrum zu bestimmen.
3. Dieser Abstand muss > r sein, wenn der Bildpunkt geschwärzt werden soll.
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 ;)
Vielen Dank für die schnellen Antworten, die Formel war glaub ich das was mir gefehlt hatte.
Jedoch habe ich sie glaub ich falsch eingebaut, denn der Balken zieht sich immer noch von oben nach unten.
mir fällt auf den ersten Blick nur die fehlende Wurzel auf.
Ansonsten kann ich dir nur das empfehlen, was ich auch machen würde, wenn ich ein lauffähiges Beispiel hätte: debuggen und zeilenweise durchgehen.
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 ;)
ich hab es bei mir mal mit Beispieldaten getestet, und es hat geklappt.
Das Problem liegt also entweder bei den Daten oder beim Aufruf --> poste doch mal bitte beides.
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 ;)
Hab es nochmal versucht und es hat geklappt, war wohl ein fehler bei der Eingabe vorhanden.
Vielen vielen Dank!
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
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.