桃花猪 发表于 2007-7-30 18:45

关于高斯平均算子检测物体的运行结果(附程序)

%Template for Gaussian averaging
%Usage =Gaussian_templete(number,number)
%winsize-size of template(odd,integer)
%sigma-variance of Gaussian function
f=imread(a.JPG');
winsize = zeros(5,5);
sigmasize=;
f1=rgb2gray(f);
=size(f1);
=size(winsize);
=size(sigmasize);
% centre is half of window size
%centre=floor(winsize/2)+1
crhalf=floor(wrows/2)+1;
cchalf=floor(wcols/2)+1;
%we will normalise by the total sum
sum=0;
%so work out the coefficients and the rumming total
for j=1:wrows
    for i=1:wcols
      f2(j,i)=exp(-(((j-cchalf)*(j-cchalf))+((i-crhalf))*((i-crhalf)))/(2*srows*scols));%f2:template
      sum=sum+f2(j,i);
    end
end
%and then normlise
f2(j,i)=f2(j,i)/sum;
imshow(f2,);

修改之后程序没有错误,可是出来的图超级小,针尖小,为什么呢?肯定是程序有问题。

如果我加入f2=zeros(irows,icols);显示的图像大小正常,但是是全部黑色。
%Template for Gaussian averaging
%Usage =Gaussian_templete(number,number)
%winsize-size of template(odd,integer)
%sigma-variance of Gaussian function
f=imread('a.JPG');
winsize = zeros(5,5);
sigmasize=zeros(1,1);
f1=rgb2gray(f);
=size(f1);
=size(winsize);
=size(sigmasize);
f2=zeros(irows,icols);
% centre is half of window size
%centre=floor(winsize/2)+1
crhalf=floor(wrows/2)+1;
cchalf=floor(wcols/2)+1;
%we will normalise by the total sum
sum=0;
%so work out the coefficients and the rumming total
for j=1:wrows
      for i=1:wcols
          f2(j,i)=exp(-(((j-cchalf)*(j-cchalf))+((i-crhalf))*((i-crhalf)))/(2*srows*scols));%f2:template
          sum=sum+f2(j,i);
      end
end
%and then normlise
f2(j,i)=f2(j,i)/sum;
imshow(f2,);

[ 本帖最后由 eight 于 2007-7-31 14:31 编辑 ]

花如月 发表于 2007-7-30 21:28

高斯平均模板没有错,不过并没有用模板对图像处理的程序。只是生成了高斯模板而已,用imshow他当然是一个小黑块了

[ 本帖最后由 花如月 于 2007-7-30 21:41 编辑 ]

花如月 发表于 2007-7-30 21:44

高斯算子平滑图像可以参看下边的帖子,建议先搞清原理,再看程序
http://forum.vibunion.com/forum/thread-48079-1-1.html

桃花猪 发表于 2007-7-31 00:06

请问应该如何修改呢?

花如月 发表于 2007-7-31 07:19

一般情况下,平滑会使图像变模糊。有些不利于后续处理(特殊情形除外),不知道你检测物体到底是什么概念。我的那个帖子里有例子,你看完再把你的问题描述的完整些

桃花猪 发表于 2007-7-31 09:49

我大约就是把物体从背景里提取出来。麻烦您改一下。

花如月 发表于 2007-7-31 10:40

提取图像要用,图像分割。这个是平滑算子,应该不能够完成你的要求。也可能只是个预处理步骤,根据图像的实际情况以及需要提取的目标才可以设计合理的算法。
页: [1]
查看完整版本: 关于高斯平均算子检测物体的运行结果(附程序)