Как хранить маленькие изображения в MATLAB - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь преобразовать массив 1x8 в изображение, я знаю, что полученное изображение будет крошечным.Я делаю это, используя следующий код:

filename = fullfile('/Users/jlmontalvo/Documents/MATLAB/train_data.csv');
T = readtable(filename);

C1 = [];
t = T(1,:);
a = t.Variables;
a(end) = []; %getting rid of the last value
test = getimage(imshow(a, [])); %display image
imwrite(test,'/Users/jlmontalvo/Desktop/hello.png'); %store image

проблема в том, что изображение, которое отображает MATLAB, выглядит следующим образом:

displayed image

, но это то, чтона самом деле сохранено совсем другое и выглядит так:

saved image, which is different

Почему это?

1 Ответ

1 голос
/ 25 марта 2019

getimage возвращает отображаемые данные.То есть после

test = getimage(imshow(a, []));

test будет идентично a.

. Вы показываете изображение с растяжением контраста, делая наименьшее значение черного и наибольшее значение белым.Но получение данных с этих осей не учитывает ничего из этого, оно просто возвращает отображаемые данные.

Вместо этого вы можете растянуть данные самостоятельно:

test = double(a);
test = test - min(test(:));
test = test / max(test(:));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...