声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 12691|回复: 8

[图像处理] 请教怎样用matlab实现用指定的高斯核与图像作卷积

[复制链接]
发表于 2007-7-4 17:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 牛小贱 于 2015-3-24 12:00 编辑

我知道在matlab中有fspecial函数可以产生高斯函数
然后可以通过卷积命令将图像和高斯函数卷积
如:
  1. Img = imread('lena.bmp');
  2. Img = double(Img);
  3. sigma=1.5;    % scale parameter in Gaussian kernel for smoothing.
  4. g=fspecial('gaussian',10,sigma);
  5. Img_n = conv2(Img,g,'same');
复制代码
  结果见图1
但是我不太清楚matlab中的fspecial函数是产生高斯核的具体公式
现在我想指定一个高斯核
g(x,y)=(1/4*pi*alf)*exp(-(x^2+y^2)/(4*alf))
与图像卷积,有两个问题搞不清楚:

1 取alf=5,我按照上面的式子生成高斯函数,在与图像卷积后的结果变得很黑,代码如下
  1. alf = 5;
  2. for i=1:10
  3.     for j=1:10
  4.         g(i,j) = exp(-(i^2+j^2)/(4*alf))/(4*pi*alf);
  5.     end
  6. end
  7. Img_n = conv2(Img,g,'same');  
复制代码
        结果见图2!!

2 由于我在后面的处理当中需要用到g的傅立叶变化模值与图像的傅立叶变化的乘积,因此g的size应该和Img的size一样吧,
可是用
  1. for i=1:256
  2.     for j=1:256
  3.         g(i,j) = exp(-(i^2+j^2)/(4*alf))/(4*pi*alf);
  4.     end
  5. end
复制代码

   产生的g只有左上角部分有值,其余的地方都是零。这样卷积的结果就变成了图3

请教各位 我到底是哪个地方做错了?

结果

结果

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2007-7-5 09:53 | 显示全部楼层
你的高斯核函数有问题,几乎就是个平面,滤波性能太差了
 楼主| 发表于 2007-7-5 14:16 | 显示全部楼层

可不可以详细讲解一下?

我用的高斯函数有问题吗? 这是看参考文献中用的。
定义时是否要这样逐点计算呢,这样不可避免的往右下计算时值会越算越小。
还请详细指点下:handshake
发表于 2007-7-5 21:38 | 显示全部楼层

回复 #3 xfdxz 的帖子

本帖最后由 牛小贱 于 2015-3-24 11:59 编辑
  1. n=10;%定义模板大小
  2. n1=floor((n-1)/2);%确定中心
  3. for i=1:n
  4.     for j=1:n
  5.         g(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(4*alf))/(4*pi*alf);
  6.     end
  7. end
复制代码
用这个g就可以,结果见附图。另外滤波模板太大了没有任何意义,只是增加计算量而已。256的和20的差别用肉眼基本都看不出来

[ 本帖最后由 花如月 于 2007-7-5 21:59 编辑 ]
temp.JPG

评分

1

查看全部评分

发表于 2012-9-7 23:06 | 显示全部楼层
本帖最后由 牛小贱 于 2015-3-24 11:59 编辑

高斯核的计算代码是:
  1. sigma=1;
  2. n=10;
  3. n1=((n+1)/2);
  4. for i=1:n
  5.     for j=1:n
  6.         g(i,j) =exp(-((i-n1)^2+(j-n1)^2)/(2*sigma^2))/(2*pi*sigma^2);
  7.     end
  8. end
复制代码
拜托你们,高斯分布公式都是错的
回复 支持 1 反对 0

使用道具 举报

发表于 2015-3-23 21:40 | 显示全部楼层
学习了...
发表于 2015-4-13 09:28 | 显示全部楼层
看不到附件啊
发表于 2015-4-13 09:38 | 显示全部楼层

查看本版置顶帖:新手必读之如何获取积分提高权限
发表于 2015-4-13 10:22 | 显示全部楼层
chybeyond 发表于 2015-4-13 09:38
查看本版置顶帖:新手必读之如何获取积分提高权限

谢谢  解决了问题
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-1 13:08 , Processed in 0.080933 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表