我已经写了蛇扫描订购,但我不知道它是对还是错! 我首先将256 * 256矩阵转换为8 * 8矩阵,并在这些小矩阵中进行蛇形扫描排序。 你能告诉我如何显示结果向量吗?
pic=rgb2gray(pic1);
pic=uint8(pic);
C = mat2cell(pic,[8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ],[8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8]);
celldisp(C);
% % % % % Converting the cell arrays to vectors in snake scan ordering form % % % %
X=[];
n=0;
for i=1:32;
for j=1:32;
n=n+1;
C{i,j}=C{i,j}';
Vn= reshape(C{i,j},1,[]);
Vn(5:8)=fliplr (Vn(5:8));
Vn(13:16)=fliplr (Vn(13:16));
X=[X Vn];
end
end
答案 0 :(得分:1)
对于矩阵M
的蛇形扫描排序:
M = M.'; %'// matlab works column major - so we first transform the matrix
M(:, 2:2:end) = M(end:-1:1, 2:2:end); %// filp up-down every second column
snake = M(:).'; %'// convert to a single vector.
您可以看到here它的工作原理。