Ahhh, ich sehe jetzt. Das Problem ist, Sie haben eine indexed image und müssen auch das Colormap-Argument von IMREAD erhalten. Versuchen Sie folgendes:
[I,map] = imread('D:\Works\matlab\SecCode.php.png','png');
imshow(I,map);
Eine Beschreibung der verschiedenen Arten von Bildern in MATLAB here gefunden werden kann. Hier ist eine kurze Zusammenfassung:
- Binary images: Das Bild a
logical
Array ist, wobei jedes Pixel den Wert 0 oder 1.
- Indexed images: die Pixel in dem Bildspeicher-Indizes in eine colormap, die ein M- ist by-3-Array von RGB-Werten. Die Colormap wird häufig mit dem indizierten Bild in der Bilddatei gespeichert.
- Grayscale images: Die Pixel im Bild enthalten jeweils einen einzelnen Wert für die Intensität.
- Truecolor images: Das Bild ist ein M-mal-N-mal-3-Array, bei dem jedes Pixel eine rote, grüne und blaue Farbkomponente hat.
Der MATLAB-Code sieht gut aus. Sind Sie sicher, dass die Datei nicht alles schwarz enthält? Hast du es in einem anderen Bildbetrachter geöffnet? – gnovice
Ja, das Bild ist in Ordnung – user198729
Würden Sie das Bild dem Beitrag hinzufügen können? Ich habe das Gefühl, dass etwas an dem Format des Bildes Probleme verursacht, und um dir zu helfen, werden wir es wahrscheinlich sehen müssen. – gnovice