Matlab: 256 двоичных матриц на одно 256-уровневое изображение в градациях серого

мой процесс производит 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.

0
задан Laurent Jégou 3 June 2011 в 13:08
поделиться