Ahhh, vedo ora. Il problema è che hai un indexed image e devi anche ottenere l'argomento della mappa di colori da IMREAD. Prova questo:
[I,map] = imread('D:\Works\matlab\SecCode.php.png','png');
imshow(I,map);
Una descrizione dei diversi tipi di immagini in MATLAB può essere trovato here. Ecco un breve riassunto:
- Binary images: L'immagine è una matrice
logical
dove ogni pixel ha il valore 0 o 1.
- Indexed images: I pixel degli indici memorizzare un'immagine in una mappa di colori, che è un M- matrice by-3 di valori RGB. La mappa di colori viene spesso memorizzata con l'immagine indicizzata nel file immagine.
- Grayscale images: I pixel nell'immagine contengono ciascuno un valore singolo che rappresenta l'intensità.
- Truecolor images: L'immagine è un array M-by-N-by-3 in cui ogni pixel ha un componente di colore rosso, verde e blu.
Il codice MATLAB sembra corretto. Sei sicuro che il file non contenga tutto il nero? L'hai aperto in un altro visualizzatore di immagini per controllare? – gnovice
Sì, l'immagine è ok – user198729
Saresti in grado di aggiungere l'immagine al post? Ho la sensazione che ci sia qualcosa nel formato dell'immagine che sta causando problemi e, per aiutarti, probabilmente avremo bisogno di vederlo. – gnovice