关于高斯模糊平滑滤波器的参数探讨的汇总

Gaussian filter(CV_GAUSSIAN),虽然它不是最快的,但是它是最有用的滤波器。高斯滤波用卷积核与输入图像的每个点进行卷积,将最终计算结果之和作为输出图像的像素值。

对于高斯模糊,前两个参数代表滤波器窗口的宽度和高度,可选择的第三个参数代表高斯卷积核的sigma值(是最大宽度的四分之一)。如果第三个参数未指定,系统将会根据窗口尺寸通过下面的方程自动确定高斯核的各个参数:

sigma.x=(n.x/2-1)*0.30+0.80,   n.x=param1;

sigma.y=(n.y/2-1)*0.30+0.80,   n.y=param2;

如果用户希望高斯核不对称,那么可以引入第四个参数。这样,第三个和第四个参数分别为水平方向和垂直方向的sigma值。

高斯滤波的opencv的实现还为几个常见的核提供更高的性能优化。具有标准sigma值的3*3,5*5,和7*7比其他核具有更优的性能。高斯模糊支持单个通道或者三个通道的8位或32位的浮点格式图像,可以进行in place方式操作。

void cvSmooth( const CvArr* src, 

CvArr* dst, 

int    smoothtype=CV_GAUSSIAN,

int param1=3, 

int param2=0, 

double param3=0 ,

double param4=0);


代码:

#include <cv.h>
#include <highgui.h>

int main(int argc, char* argv[])
{
IplImage*input=cvLoadImage("f.jpg");
cvNamedWindow("yuantu",CV_WINDOW_AUTOSIZE);
cvShowImage("yuantu",input);
IplImage*out_a_img=cvCreateImage(cvGetSize(input),input->depth,input->nChannels);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值