Как преобразовать цветное изображение в оттенки серого в MATLAB?

Я пытаюсь реализовать алгоритм в компьютерном зрении, и я хочу попробовать его на множестве изображений. Изображения все в цвете, но я не хочу иметь дело с этим. Я хочу преобразовать их в оттенки серого, которых достаточно для тестирования алгоритма.

Как преобразовать цветное изображение в оттенки серого?

Я читаю его с помощью:

x = imread('bla.jpg');

Есть ли какой-либо аргумент, который я могу добавить в imread, чтобы прочитать его как оттенки серого? Есть ли способ изменить x на оттенки серого после его прочтения?

Ответ 1

Используйте rgb2gray для выделения оттенка и насыщенности (т.е. преобразования в оттенки серого). Документация

Ответ 2

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

Ответ 4

вы можете использовать этот код:

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

используя matlab

Ответ 5

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

Ответ 6

Используйте функции imread() и rgb2gray(), чтобы получить изображение с серой шкалой.

Пример:

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

Если у вас есть изображение с цветной картой, вы должны сделать следующее:

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

Алгоритм rgb2gray для вашей собственной реализации:

f(R,G,B) = (0.2989 * R) + (0.5870 * G) + (0.1140 * B)