Я беру рамку с серой колоркой imagesc, попробуйте gray2ind
- ind2rgb
для imwrite
, а затем прочитайте ее снова imread
, но я получаю сообщение об ошибке, которое указывает, что размеры не совпадают.Как передать кадр Imagec в Matlab imwrite и imread?
Assignment has more non-singleton rhs dimensions than non-singleton subscripts
Error in ind2rgb (line 34)
rout(:,:,1) = r;
Error in test_imagesc_output_imwrite (line 14)
Crgb = ind2rgb(Cind, parula(256)); % https://stackoverflow.com/a/39968435/54964
код, где я не уверен, как передать 1-gray(1024)
Colormap детали gray2ind
правильно; Я думаю, gray2ind(I,256)
может потерять часть информации; Кроме того, ind2rgb(Cind, parula(256)
не является правильным, но я не могу использовать там 1-gray(1024)
непосредственно
clear all; close all; clc;
x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
f=figure;
hax=axes(f);
imagesc(hax, x,y,C) % I could not use here I=imagesc and then I.CData for some reason
colormap(hax, 1-gray(1024));
I=getframe(hax);
I=I.cdata;
assert(isa(I, 'uint8'), sprintf('I is not uint8 but %s', class(I)));
Cind = gray2ind(I, 256);
% TODO here something
Crgb = ind2rgb(Cind, parula(256)); % https://stackoverflow.com/a/39968435/54964
imwrite(Crgb, '/home/masi/Images/1.png');
I=imread('/home/masi/Images/1.png');
assert(isa(I, 'uint8'), sprintf('I is not uint8 but %s', class(I)));
f2=figure;
hax=axes(f2);
imagesc(hax2, I);
Рис. 1 Imagsc серое изображение, которое является getframe
и пытался быть сохранены imwrite
и читать imread
Matlab : 2016a
ОС: Debian 8,5 64 бит
Оборудование: Asus Zenbook UX303UA
Мотивация: I Я получаю артефакта в export_fig
, как описано here, но и в настоящее время наблюдения фазовых сдвигов от 1-gray
к gray
при сохранении [I,alpha]=export_fig(...)
так пытается с Matlab imwrite
/imread
@Masi Я только использовал parula, потому что то будет именно то, что ты отправил .... – Suever
@Masi вам не нужно ни одного из них, если вы просто хотите серого ... просто используйте 'I' напрямую. – Suever
@ Masi Я немного смущен, что вы имеете в виду. Вы говорите, что если вы скрываете оси, они все еще появляются при использовании 'getframe'? – Suever