xinyingcherry 发表于 2008-5-16 16:19

求助关于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,有些语法还不懂,恳请大家帮我解释下以上代码,万分感激!!

sigma665 发表于 2008-5-16 16:33

回复 楼主 的帖子

具体哪个命令不知道,可以查看帮助

另外,你M,N 都没有定义

mianyang 发表于 2008-5-16 17:03

回复 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;
是什么意思吗?

sigma665 发表于 2008-5-16 17:44

回复 3楼 的帖子

a(1:N,1:M,1,1:J+1) = 0;
a 是一个N*M*1*J+1的4维数组

刚开始我也不知道,但是
你运行一下,结果就出来了

mianyang 发表于 2008-5-16 21:36

回复 4楼 的帖子

能帮我解释下这个程序主要是想实现一个什么吗?

sigma665 发表于 2008-5-16 21:40

你哪里找来的程序:@L

mianyang 发表于 2008-5-16 21:50

网上下的,没办法明后天要交了,然后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);

mianyang 发表于 2008-5-16 21:52

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

sigma665 发表于 2008-5-17 08:56

回复 8楼 的帖子

网上找的,那你是随便找的吗
没有一点点的说明吗

16443 发表于 2008-5-17 09:08

估计是做毕业设计,没时间了。随便找的吧。

mianyang 发表于 2008-5-17 09:19

是毕业设计,网上没说明哦!代码看不懂,现在老师叫我加个滤波功能就加不进去了,各位能不帮忙看下

sigma665 发表于 2008-5-17 09:57

回复 11楼 的帖子

你既然看不懂,那为什么会选这个程序
你怎么知道,这段程序就和你的毕业设计相关:@L

happy 发表于 2008-5-17 22:03

这个是一个使用小波变换的来实现图像边缘检测的程序
页: [1]
查看完整版本: 求助关于matlab的一段代码解释