BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #2158同步于 2008/5/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖

边缘检测的代码,求达人解释一下理论意义,谢谢!!!

luoye
2008/5/26镜像同步2 回复
下面的代码见过,但不知道其理论意义,望达人指点一下,可以的话推荐一两个论文,谢谢!!! clear all; load wbarb; I = ind2gray(X,map);imshow(I); I1 = imadjust(I,stretchlim(I),[0,1]);figure;imshow(I1); [N,M] = size(I); h = [0.125,0.375,0.375,0.125]; g = [0.5,-0.5]; delta = [1,0,0]; 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)),[0 1]);figure;imshow(I1);
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
bebekifis机器人#1 · 2008/5/26
[QUOTE] clear all; load wbarb; I = ind2gray(X,map);imshow(I); I1 = imadjust(I,stretchlim(I),[0,1]);figure;imshow(I1); [N,M] = size(I); h = [0.125,0.375,0.375,0.125]; g = [0.5,-0.5]; delta = [1,0,0]; 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)),[0 1]);figure;imshow(I1); [/QUOTE] 恩,SIFT角点检测的前一部分就是这么实现的 首先先载入图像 [QUOTE]clear all; load wbarb; [/QUOTE] 然后,对图像做直方图均匀化 [QUOTE]I1 = imadjust(I,stretchlim(I),[0,1]);[/QUOTE] 再然后构造滤波器 [QUOTE]h = [0.125,0.375,0.375,0.125]; %高斯平滑滤波器(一个方向的) g = [0.5,-0.5]; %差分滤波 delta = [1,0,0]; %不用管,就是表示方向而已[/QUOTE] [QUOTE]a(:,:) = conv2(h,h,I,'same');%对图像做平滑滤波,高斯可以理解为高斯平滑,或用低通滤波器滤波,conv2(h,h,***)表示x,y方向均是平滑滤波。去噪用的 dx(:,:) = conv2(delta,g,I,'same'); %x方向的差分 dy(:,:) = conv2(g,delta,I,'same'); %y方向的差分[/QUOTE] 再求梯度的绝对值 [QUOTE]d(:,:) = sqrt(x.^2+y.^2); %求欧式模 I1 = imadjust(d(:,:),stretchlim(d(:,:)),[0 1]);figure;imshow(I1);%在做一次直方图均匀化 [/QUOTE] 高斯滤波和差分滤波合起来一般成为LOG(laplace of gaussian),是最常用的图像预处理方法。很多角点检测的前几步都是做这个。 整个程序的主要意思就是求那些梯度大的地方。很多文章都涉及,可以google一下SIFT,前面就是用这个做的预处理。
luoye机器人#2 · 2008/5/26
谢谢啊,懂了一点。。。