Domanda

Sto cercando di implementare un algoritmo in computer vision e voglio provarlo su una serie di immagini. Le immagini sono tutte a colori, ma io non voglio fare con questo. Io voglio convertirli in scala di grigi che è sufficiente per testare l'algoritmo.

Come posso convertire un'immagine a colori in scala di grigi?

lo sto leggendo con:

x = imread('bla.jpg');

C'è un argomento che posso aggiungere a imread di leggerlo come scala di grigi? C'è un modo posso cambiare x in scala di grigi dopo leggerlo?

È stato utile?

Soluzione

Usa rgb2gray spogliare tonalità e saturazione (cioè, convertire in scala di grigi). Documentation

Altri suggerimenti

x = imread('bla.jpg');
k = rgb2gray(x);
figure(1),imshow(k);

Ho trovato questo link: http://blogs.mathworks.com/steve/2007/ 20/07 / imoverlay-e-imagesc / funziona.

che dice:

im=imread('your image');
m=mat2gray(im);
in=gray2ind(m,256);
rgb=ind2rgb(in,hot(256));
imshow(rgb);

è possibile utilizzando questo codice:

im=imread('your image');
k=rgb2gray(im);
imshow(k);

utilizzando a MATLAB

I=imread('yourimage.jpg');
p=rgb2gray(I)

Utilizzare le funzioni imread() e rgb2gray() per ottenere un'immagine in scala di grigi.

Esempio:

I = imread('input.jpg');
J = rgb2gray(I);
figure, imshow(I), figure, imshow(J); 

Se si dispone di un'immagine a colori-mappa, è necessario fare come di seguito:

[X,map] = imread('input.tif');
gm = rgb2gray(map);
imshow(X,gm);

L'algoritmo rgb2gray per la propria implementazione è:

f(R,G,B) = (0.2989 * R) + (0.5870 * G) + (0.1140 * B)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top