Matlab импортирует B & W 16-битный tiff, а затем рисует?

У меня есть 16-битный черно-белый TIFF. Он не имеет цветового отображения.

Я импортирую его следующим образом:

Tiff = imread('MyImage.tif')

Это дает мне переменную со значением «single» с именем Tiff. Это просто сетка/матрица значений интенсивности для каждого пикселя.

Я пробовал тогда использовать

image(Tiff);

Но в итоге я получаю изображение, полностью желтое.

If I do

imagesc(Tiff);

Тогда это как бы работает, но это не оттенки серого, это больше похоже на тепловую карту.

Как изобразить TIFF на графике? Я хочу иметь возможность затем отображать другие строки поверх этого изображения в формате TIFF.


person Nertskull    schedule 24.10.2016    source источник
comment
Попробуйте imshow(Tiff, []);. Если это не сработает, найдите способ загрузить файл MyImage.tif на файлообменник и опубликуйте ссылку.   -  person Rotem    schedule 24.10.2016


Ответы (1)


Попробуй это,

[I,cmap] = imread('your_image.tif');
img  = ind2rgb(I,cmap); 

Чтобы нарисовать что-то поверх вашего изображения, вы можете сделать это:

figure, imshow(img);
hold on;
plot(your_x_data,your_y_data); % or whatever yo want plot on top that image. 
person AMS    schedule 24.10.2016
comment
Нет, я получаю ошибку. 'Индекс превышает размерность матрицы'. Когда я делаю [I,cmap], значение cmap выходит пустым/пустым. - person Nertskull; 24.10.2016
comment
Ох!! Я не знаю, что происходит :( если возможно, не могли бы вы загрузить свое изображение в самом вопросе. - person AMS; 24.10.2016