2010-06-02 2 views
0

Я пытаюсь преобразовать 2D-массив в оттенки серого, но с использованием mat2gray ничего не делает, и imshow(), похоже, создает двоичное изображение, которое при графике я не могу повернуть, например. исходный массив - 2d, но карты в 3d. Итак, каков наилучший способ взять оттенки серого из массива 2d в Matlab, поэтому, если у вас есть A = rand (5,10) или что-то еще, и вы хотите получить оттенки серого, что лучший способ?Оттенки серого в matlab

+0

Каков диапазон значений в исходном 2D-массиве? Не могли бы вы рассказать больше о том, что вы подразумеваете под «не могу повернуть»? –

ответ

0

я ожидал бы MAT2GRAY работать, но если это не вы можете попробовать это:

A = rand(5,10);  %# Make a random array of values between 0 and 1 
B = uint8(255.*A); %# Scale the values and convert them to uint8 
0

Если вы используете imshow на 2D-изображения, это хорошая идея использовать автомасштабирование.

img = randn(100); 
imshow(img,[]); 
Смежные вопросы