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

Histogramm zeigt nur einen Balken an

 

Dr.Nick
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2009, 11:04     Titel: Histogramm zeigt nur einen Balken an
  Antworten mit Zitat      
Hallo,
ich weiss, so langsam nerve ich, aber ich hoffe mal, das das hier erstmal die letzte Frage ist.
Also, ich versuche grad, in meiner GUI ein Bild und das Histogramm zu diesem Bild anzuzeigen. Funktioniert prinzipiell auch, allerdings wird in dem Histogramm nur ein Balken angezeigt.
Hier mein Code:

Code:

set(handles.picture1,'HandleVisibility','ON');
im_original=imread(char('Geometryd.jpg'));
axes(handles.picture1);
I=image(im_original);
axis equal;
axis tight;
axis off;
set(handles.picture1,'HandleVisibility','OFF');
set(handles.textPicture1,'String','Bild');


set(handles.picture2,'HandleVisibility','ON');
im_original=imread(char('Geometryd.jpg'));
axes(handles.picture2);
hist(handles.picture2, image(im_original));
axis equal;
axis tight;
axis off;
set(handles.picture2,'HandleVisibility','OFF');
set(handles.textPicture2,'String','Histogramm zum Bild');
 


Was läuft hier falsch?

Vielen Dank schonmal
Nick
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 25.05.2009, 11:23     Titel:
  Antworten mit Zitat      
Moin,

wie wärs, wenn du die Anzeige des Bildes aus dem HIST-Aufruf rausnimmst? Wink

Code:
set(handles.picture2,'HandleVisibility','ON');
im_original=imread(char('Geometryd.jpg'));
axes(handles.picture2);
hist(handles.picture2, im_original); % in dieser Zeile
axis equal;
axis tight;
axis off;
set(handles.picture2,'HandleVisibility','OFF');
set(handles.textPicture2,'String','Histogramm zum Bild');


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr.Nick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2009, 13:09     Titel:
  Antworten mit Zitat      
Nein, klappt leider nicht.

Code:

??? Error using ==> mtimes
Integers can only be combined with integers of the same class, or scalar doubles.

Error in ==> hist at 60
        xx = miny + binwidth*(0:x);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 25.05.2009, 13:25     Titel:
  Antworten mit Zitat      
Ist es ein Graustufenbild?
Dann solltest du die Funktion der Image Processing Toolbox verwenden:
Code:


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr.Nick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2009, 13:38     Titel:
  Antworten mit Zitat      
Ne, ist eigentlich kein Graustufenbild.
Mit imhist sieht man einen schwarzen horizontalen und einen blauen vertikalen strich...
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 25.05.2009, 14:04     Titel:
  Antworten mit Zitat      
Wenn es kein Graustufenbild ist, was bitte soll dann im Histogramm dargestellt werden?

Wenn du soetwas meinst, was bei bei vielen Bildbearbeitungssoftwares dabei ist, dann musst du dein Bild erst in ein Graustufenbild umwandeln, damit dann ein Histogramm erzeugt werden kann.

Code:
set(handles.picture2,'HandleVisibility','ON');
im_original=imread(char('Geometryd.jpg'));
axes(handles.picture2);
imhist(rgb2gray(im_original)); % ich hoffe dein Bild ist ein RGB-Bild
axis equal;
axis tight;
axis off;
set(handles.picture2,'HandleVisibility','OFF');
set(handles.textPicture2,'String','Histogramm zum Bild');


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr.Nick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2009, 14:13     Titel:
  Antworten mit Zitat      
uuuups, denkfehler!

Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Dr.Nick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2009, 16:56     Titel:
  Antworten mit Zitat      
Tja also, so ganz funktioniert es noch nicht.

Ich hab momentan noch das Problem, dass wenn ich deinen Code mehrmals hintereinander ausführe, also mehrere Histogramme in eine GUI packe, der Fehler

Code:

?? Invalid handle object.

Error in ==> Versuch1>page17 at 993
set(handles.picture1,'HandleVisibility','OFF');
 


angezeigt wird.

Hier mein Code:

Code:

set(handles.picture1,'HandleVisibility','ON');
im_original=imread(char('background.jpg'));
axes(handles.picture1);
colormap(gray(256))
imhist(rgb2gray(im_original));
%axis equal;
axis tight;
axis off;
set(handles.picture1,'HandleVisibility','OFF');

set(handles.picture3,'HandleVisibility','ON');
im_original=imread(char('laden.jpg'));
axes(handles.picture3);
colormap(gray(256))
imhist(rgb2gray(im_original));
%axis equal;
axis tight;
axis off;
set(handles.picture3,'HandleVisibility','OFF');
 
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 - 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.