Как воссоединиться с разделенным изображением в Matlab - PullRequest
0 голосов
/ 18 июня 2011

Я разбил большое изображение на более мелкие блоки, поскольку время, затрачиваемое на обработку изображения в целом, в MATLAB довольно много. Теперь, после того как я разделил изображения и выполнил необходимую обработку, мне нужно снова соединить изображение из этих блоков. Как мне это сделать?

Вот как я делю изображение:

k=1;
    for i=1:floor(nCol/6):(5*nCol/6)
        for j=1:floor(nRow/6):(5*nRow/6)

            im{k}=I(i:floor(i+nCol/6),j:floor(j+nRow/6),1:3);
            k=k+1;

        end

    end


for i=1:k-1
      part=some_function(im{i});

Теперь эта часть представляет собой массив изображений ... для доступа к нему я использую

for i=1:length(part)
         figure; imshow(part{1}{i});

в основном эта часть содержит части блока, который был обработан и разбит на множество частей. Поэтому сначала мне нужно объединить часть в одно изображение и объединить все части в одно целое изображение. Надеюсь, вы поняли, о чем я.

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

Если вы разбили изображение на каналы (например, RGB), вы можете использовать команду cat следующим образом:

img = cat(3,R,G,B);
0 голосов
/ 18 июня 2011

Обычно изображения в MATLAB - это просто матрицы. Таким образом, вы можете склеить их вместе с обычными командами горизонтальной и вертикальной конкатенации:

WholeImage = [ NorthWest NorthEast; ...
               SouthWest SouthEast ];

Предполагая, что ваше изображение было разбито на четыре части, это объединит их.

Если вы разбили его на переменное количество кусков и сохранили куски в массиве ячеек, тогда cell2mat должно помочь склеить кусочки обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...