我已经将一个大的图像分割成较小的块,因为在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});现在这个部分是一个图像数组,我使用itself..that来访问它
for i=1:length(part)
figure; imshow(part{1}{i});基本上,这一部分包含已处理的块的一部分,并被分成许多部分。因此,基本上首先,我需要将部分合并为一个图像,并将所有部分合并为一个完整的图像。我希望你明白我的意思。
发布于 2011-06-18 23:03:11
通常,MATLAB中的图像只是矩阵。因此,您可以使用常用的水平和垂直连接命令将它们粘合在一起:
WholeImage = [ NorthWest NorthEast; ...
SouthWest SouthEast ];假设您的图像被分成四个部分,这将把它们重新组合在一起。
如果您将其分解成数量可变的片段,并将这些片段存储在单元数组中,那么cell2mat应该有助于将这些片段粘合在一起。
发布于 2011-06-18 23:17:43
如果您已将图像分割为多个通道(例如,RGB),则可以按如下方式使用cat command:
img = cat(3,R,G,B);https://stackoverflow.com/questions/6396815
复制相似问题