求助关于matlab的一段代码解释
h = ;g = ;
delta = ;
J = 3;
a(1:N,1:M,1,1:J+1) = 0;
dx(1:N,1:M,1,1:J+1) = 0;
dy(1:N,1:M,1,1:J+1) = 0;
d(1:N,1:M,1,1:J+1) = 0;
a(:,:,1,1) = conv2(h,h,I,'same');
dx(:,:,1,1) = conv2(delta,g,I,'same');
dy(:,:,1,1) = conv2(g,delta,I,'same');
x = dx(:,:,1,1);
y = dy(:,:,1,1);
d(:,:,1,1) = sqrt(x.^2+y.^2);
I1 = imadjust(d(:,:,1,1),stretchlim(d(:,:,1,1)),);figure;imshow(I1);
刚开始学matlab,有些语法还不懂,恳请大家帮我解释下以上代码,万分感激!!
回复 楼主 的帖子
具体哪个命令不知道,可以查看帮助另外,你M,N 都没有定义
回复 2楼 的帖子
那个m,n前面有定义,我没拷过来,是矩阵的行和列,英语比较差,看了帮助不是很懂,可以帮我解释下
a(1:N,1:M,1,1:J+1) = 0;
dx(1:N,1:M,1,1:J+1) = 0;
dy(1:N,1:M,1,1:J+1) = 0;
d(1:N,1:M,1,1:J+1) = 0;
是什么意思吗?
回复 3楼 的帖子
a(1:N,1:M,1,1:J+1) = 0;a 是一个N*M*1*J+1的4维数组
刚开始我也不知道,但是
你运行一下,结果就出来了
回复 4楼 的帖子
能帮我解释下这个程序主要是想实现一个什么吗? 你哪里找来的程序:@L 网上下的,没办法明后天要交了,然后matlab以前又没学过,只能求救大家了下面是整个程序,能帮忙办给我看一下吗?load wbarb;
I = ind2gray(X,map);imshow(I);
I1 = imadjust(I,stretchlim(I),);figure;imshow(I1);
= size(I);
h = ;
g = ;
delta = ;
J = 3;
a(1:N,1:M,1,1:J+1) = 0;
dx(1:N,1:M,1,1:J+1) = 0;
dy(1:N,1:M,1,1:J+1) = 0;
d(1:N,1:M,1,1:J+1) = 0;
a(:,:,1,1) = conv2(h,h,I,'same');
dx(:,:,1,1) = conv2(delta,g,I,'same');
dy(:,:,1,1) = conv2(g,delta,I,'same');
x = dx(:,:,1,1);
y = dy(:,:,1,1);
d(:,:,1,1) = sqrt(x.^2+y.^2);
I1 = imadjust(d(:,:,1,1),stretchlim(d(:,:,1,1)),);figure;imshow(I1);
lh = length(h);
lg = length(g);
for j = 1:J+1
lhj = 2^j*(lh-1)+1;
lgj = 2^j*(lg-1)+1;
hj(1:lhj)=0;
gj(1:lgj)=0;
for n = 1:lh
hj(2^j*(n-1)+1)=h(n);
end
for n = 1:lg
gj(2^j*(n-1)+1)=g(n);
end
a(:,:,1,j+1) = conv2(hj,hj,a(:,:,1,j),'same');
dx(:,:,1,j+1) = conv2(delta,gj,a(:,:,1,j),'same');
dy(:,:,1,j+1) = conv2(gj,delta,a(:,:,1,j),'same');
x = dx(:,:,1,j+1); y = dy(:,:,1,j+1);
dj(:,:,1,j+1) = sqrt(x.^2+y.^2);
I1 = imadjust(dj(:,:,1,j+1),stretchlim(dj(:,:,1,j+1)),);figure;imshow(I1);
end
回复 8楼 的帖子
网上找的,那你是随便找的吗没有一点点的说明吗 估计是做毕业设计,没时间了。随便找的吧。 是毕业设计,网上没说明哦!代码看不懂,现在老师叫我加个滤波功能就加不进去了,各位能不帮忙看下
回复 11楼 的帖子
你既然看不懂,那为什么会选这个程序你怎么知道,这段程序就和你的毕业设计相关:@L 这个是一个使用小波变换的来实现图像边缘检测的程序
页:
[1]