WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

imcrop vordefinierte Größe?

 

Hilbert86
Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 08.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2011, 16:30     Titel: imcrop vordefinierte Größe?
  Antworten mit Zitat      
Hallo Leute

wenn ich imcrop(image) mache kommt ja das Bild indem ich dann den Bereich auswähle der gecropt werden soll. Kann man das dann auch so machen das wenn das Bild geladen wird eine Vordefinierte Crop-Fläche geladen wird die man auf dem Bild dann herum verschiebt?

Ich möchte einen Bereich (dessen Größe vordefiniert ist) des Bildes cropen den man zuerst mit dem Auge suchen muss und dann erst mit vordefinierter Rastercropt. Ist das möglich?

Viele Grüße
Hilbert
_________________

MMAAAAAATTTTTLLAAAAABBBB
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 29.08.2011, 17:00     Titel:
  Antworten mit Zitat      
Offensichtlich gibt imcrop() die Funktionalität nicht her. Mach das Ganze doch mit imrect(), da funktioniert die feste Größe und croppe danach mit imcrop().
Private Nachricht senden Benutzer-Profile anzeigen
 
Hilbert86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 08.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2011, 13:50     Titel:
  Antworten mit Zitat      
Hallo und danke für den Tipp

Jedoch habe ich da ein Problem. Habe das Beispiel aus Matlab genommen. Wie involviere ich nun imcrop in diesen Code?

Code:
figure, imshow('cameraman.tif');
h = imrect(gca, [10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));
setPositionConstraintFcn(h,fcn);


So das nun diese Fläche auf der sich mein rectangle befindet welches ich positioniert habe gecropt wird?
_________________

MMAAAAAATTTTTLLAAAAABBBB
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 01.09.2011, 14:55     Titel:
  Antworten mit Zitat      
Moin,

also eine Möglichkeit wäre, die Daten von der Funktion "addNewPositionCallback", die in der Figur wiedergegeben werden, als Ausschnitt zu nehmen: Beispiel:

In der Figure sind folgende Daten: [83 30 100 100] - bezogen auf die vorherige Funktion "imrect". Dann erreichst Du den Ausschnitt mit:

Code:
x=I(30:130,83:183


Du siehst, wie Du die neuen Koordinaten mit der Vorgabe aus imrect verrechnen mußt.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Hilbert86
Themenstarter

Forum-Century

Forum-Century


Beiträge: 113
Anmeldedatum: 08.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.09.2011, 15:01     Titel:
  Antworten mit Zitat      
Hi Hubertus

danke für den Vorschlag. Ich glaube du hast sowas gemeint?
Ich gebe die Größe vor und speichere die position des rectangle und beutze diese für im crop.

Code:
figure, imshow(image);
h = imrect(gca, [10 10 70 50]);
position = wait(h);

template=imcrop(image,position);

_________________

MMAAAAAATTTTTLLAAAAABBBB
Private Nachricht senden Benutzer-Profile anzeigen
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 01.09.2011, 16:12     Titel:
  Antworten mit Zitat      
Ich kann Deinen Code derzeit nicht prüfen. Mein Vorschlag war, die Zeile x=I(30:130,83:183 nach addNewPositionCallback einzufügen, da Du erst danach die Koordinaten erhältst.

Das Problem ist, dass imrect die Anfangskoordinaten plus der Ausschnittsgröße wiedergibt und imcrop nur die tatsächlichen Koordinaten verwendet. Wenn Dein Vorschlag auch geht, ist das natürlich einfacher!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.