作业帮 > 综合 > 作业

求教MATLAB高手!

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/06 07:34:20
求教MATLAB高手!
我想将一个256*256的图像分成每块4*4的子块,然后求出每个子块的最小值 并对这些最小值画一个3D图,问题出在如何把最小值都求出来得到一个矩阵?我用MIN貌似只能得到一个数值,程序如下 C1为原图片
[M,N]=size(C1);
C2=double(C1);
m=4; %每小块大小为4*4
for f=1:M-m+1
for g=1:N-m+1
c1=C2(f:f+(m-1),g:g+(m-1));
e1=c1(1,:);
for u1=2:m
e1=[e1,c1(u1,:)];
end
mi=min(e1);
end
end
H.color=[1 1 1];
figure(H);
[x,y]=meshgrid(1:M,1:N);
surf(M,N,mm),%画出背景亮度粗估计的3D图
rotate3d on;
求教MATLAB高手!
[M,N]=size(C1);
mi=zeros(64,64);%初始化最小矩阵
m=4; %每小块大小为4*4
C2=mat2cell(C1,ones(M/m,1)*m,ones(N/m,1)*m);%分块为64x64的cell数组
for i=1:64
for j=1:64
mi(i,j)=min(min(C2{i,j}));%求最小
end
end
H.color=[1 1 1];
figure(H);
[x,y]=meshgrid(1:M,1:N);
surf(M,N,mm), %画出背景亮度粗估计的3D图
rotate3d on;
再问: 好厉害~! 能不能再麻烦帮忙看一下我的SURF哪里出错了- - 为什么不能画出3D图呢 谢谢了~ 错误是这个: ??? Error using ==> surf at 78 Data dimensions must agree.