мой процесс производит 256 двоичных (логических) матриц, по одной для каждого уровня исходного изображения в градациях серого.
Вот код:
so = imread('bio_sd.bmp');
co = rgb2gray(so);
for l = 1:256
bw = (co == l); % Binary image from level l of original image
be = ordfilt2(bw, 1, ones(3, 3)); % Convolution filter
bl(int16(l)) = {bwlabel(be, 8)}; % Component labelling
end
I получить массив ячеек из 256 двоичных изображений. Такое двоичное изображение содержит единицы, если пиксель исходного изображения в этом месте имеет тот же уровень, что и индекс двоичного изображения.
т.е. двоичное изображение bl {12} содержит единицы где исходное изображение имеет пиксели с уровнем 12.
Я хотел бы создать новое изображение, объединив 256 двоичных матриц обратно в изображение в оттенках серого.
Но я новичок в Matlab, и мне интересно, есть ли кто-нибудь может помочь мне его написать :)
ps: я использую студенческую версию MATLAB R2010a.