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

Bildkontrast ändern

 

Bahnhof

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2010, 13:42     Titel: Bildkontrast ändern
  Antworten mit Zitat      
Hallo,

ich habe eine kurze Frage und zwar komme ich nicht dahinter wie man den Kontrast von einem Bild ändern kann. Gibt es da auch eine Möglichkeit ohne den adjcontrast-Befehl?

Vielen Dank


Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 28.10.2010, 13:54     Titel:
  Antworten mit Zitat      
Moin,

guckst Du hier Wink

http://www.gomatlab.de/maximaler-ko.....7,highlight,kontrast.html


Viele Grüße

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Bahnhof

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2010, 14:20     Titel:
  Antworten mit Zitat      
Wow das ging aber schnell!

Vielen Dank. Doch leider funktioniert bei mir folgende Zeile nicht:

g=apt(f,T);

Ist das ein Tippfehler "apt" oder kennt mein Matlab diesen Befehl nicht?

Gruß
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 28.10.2010, 14:23     Titel:
  Antworten mit Zitat      
Die Funktion apt.m ist in dem Beispiel vorhanden. Du mußt sie nur speichern, damit Matlab darauf zurückgreifen kann.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Bahnhof

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.10.2010, 14:39     Titel:
  Antworten mit Zitat      
Sorry,

ich habe wirklich gesucht aber leider die apt.m-Funktion nicht gefunden!

Vielen Dank schon mal im Voraus
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 28.10.2010, 14:46     Titel:
  Antworten mit Zitat      
Au weia-

in dem Link findest Du die Beschreibung und direkt danach auch die Funktion apt.m. Die mußt Du nur kopieren und in ein Verzeichnis stellen.

Munter bleiben!

Hubertus
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: 28.10.2010, 16:27     Titel:
  Antworten mit Zitat      
Könnte es sein, dass Du den gesamten Code so gestartest hast?

Code:

I=imread('cameraman.tif');
figure; imshow(I)
f=double(I);
gamma= .01;
r=0:255;
c=255/(256^gamma);
T=c*r.^gamma;
g=apt(f,T);
subplot(121); imagesc(f); axis square, colormap(gray)
subplot(122); imagesc(g); axis square, colormap(gray)

% Quelle:  Unbekannte Internetseite

function g=apt(f,T)
 
[nr nc]=size(f);
g=zeros(nr,nc);
for idx1=1:nr
    for idx2=1:nc
        r=f(idx1,idx2);
        s=T(r+1);
        g(idx1,idx2)=s;
    end
end
 


Das kann nicht funktionieren - oder Du mußt daraus eine Funktion machen.
Du kannst nur den oberen Teil von starten. Das, was mit function.... beginnt ist die Funktion, die Du speichern mußt - natürlich ohne den oberen Teil. Das muß funktionieren!!Sonst melde Dich wieder.

Hubertus
Private Nachricht senden Benutzer-Profile anzeigen
 
Bahnhof

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2010, 15:28     Titel:
  Antworten mit Zitat      
Hallo Hubertus,

super, vielen Dank - das Programm läuft. Aber das komische ist, dass es nur mit dem cameraman.tif-Bild funktioniert. Kann ich nicht irgendein beliebiges Bild nehmen?

Vielen Dank schonmal im Voraus!
 
Hubertus
Forum-Meister

Forum-Meister


Beiträge: 1.034
Anmeldedatum: 08.01.09
Wohnort: Hamburg
Version: ---
     Beitrag Verfasst am: 04.11.2010, 20:58     Titel:
  Antworten mit Zitat      
Moin Bahnhof,

der Algorithmus läuft auf 2-dimensionale Matrizen. Einfachere Verfahren sind z.B. imadjust+strechlim, imcontrast und histeq. Es gibt aber eine ganze Reihe von Möglichkeiten, den Bildkontrast zu ändern. In der Regel werden für Colorbilder Histogramm-Normierungen angewendet. Zu diesen Normierungen gibt sehr viele Infos im Netz. Solltest Du nichts passendes finden, melde Dich wieder und beschreibe, was Du suchst.

Viele Grüße

Hubertus
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: 05.11.2010, 09:37     Titel:
  Antworten mit Zitat      
Moin Bahnhof,

ich habe den Algo für die Funktion apt.m auf Farbbilder erweitert. Damit müßtest Du jetzt alle Bilder bearbeiten können.

Code:
I=imread('Test.tif');      % Colorbild
figure; imshow(I)
for color=1:3;
  I2=I(:,:,color);
  f=double(I2);
  gamma=0.01;  % gamma 1 und größer = niedriger Kontrast
  r=0:255;
  c=255/(256^gamma);
  T=c*r.^gamma;
  g=apt(f,T);
  I3(:,:,color)=g;
end
figure; imshow(I3)


Sonst melde Dich wieder.

Einen schönen Tag

Hubertus
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.