Самый простой способ сделать это - скопировать и вставить данные в M-файл.
Ваш M-файл будет выглядеть следующим образом:
function imgData = createImg()
% imgData = imread('peppers.png'); % usual way
imgDataR = [...
43, 86, 43, 54, 123, 43, 132, ... (etc.)
];
imgDataG = [...
... (more data here)
];
imgDataB = [...
... (more data here)
];
imgData = cat(3, imgDataR, imgDataG, imgDataB);
end
Чтобы сгенерировать этоданные, прочитайте изображение и запишите его в текстовый файл, используя csvwrite
:
imgData = imread('peppers.png');
csvwrite('imgDataR.txt',imgData(:,:,1));
csvwrite('imgDataG.txt',imgData(:,:,2));
csvwrite('imgDataB.txt',imgData(:,:,3));
А затем откройте эти текстовые файлы и скопируйте и вставьте данные в ваш M-файл.
Хотя, если у вас есть логотип, у вас, вероятно, мало цветов.Может быть, лучше сохранить его в виде индексной матрицы и цветовой карты.Но принцип будет таким же.
Чтобы использовать цветовую карту, сделайте следующее:
function logical_idx = my_createImg()
% imgData = imread('peppers.png'); % usual way
index = [... % data...]; % should have values 1 and 2
colmap = uint8([220,20,60; 230,230,230]);
imgData = colmap(index,:);
imgData = reshape(imgData,[size(index),3]);
end
Ваша матрица index
должна иметь значения 1 и 2 (или более высокие числа, если у вас естьбольше цветов).Чтобы перейти к имеющейся у вас логической матрице, просто добавьте 1. Вы используете эту матрицу для индексации в карте цветов.Затем вам нужно изменить форму вывода, чтобы иметь правильные размеры.