C++实现高斯滤波器
在matlab中,我们经常用到高斯滤波器,生成滤波器一般都是这样的函数psf = fspecial('gauss', GaussSize, sigma),但是在vs2010中用到的高斯滤波器不能自己直接定义一个滤波器,所以我就用c++与OPENCV的mat类实现了高斯滤波器,具体代码如下:
#include"opencv24.h"
using namespace std;
Mat MakeGaussFilt(int GauSize, double Sigma)
{
double siz = (GauSize-1.0)/;
Mat x = Mat(GauSize,GauSize,CV_64F);
Mat y = Mat(GauSize,GauSize,CV_64F);
for (int i=;i<GauSize;i++)
{
x.col(i)=double(i-siz);
y.row(i)=double(i-siz);
}
Mat argu = Mat(GauSize,GauSize,CV_64F);
Mat x2=x.mul(x);
Mat y2=y.mul(y);
argu = -(x2+y2)/(*Sigma*Sigma);
Mat h = Mat(GauSize,GauSize,CV_64F);
exp(argu,h);
Scalar sumh=sum(h);
double summ=sumh.val[];
h=h/summ;
return h;
}
其中Mat类用到了OPENCV库,自己要在VS上进行库的导入,函数经过亲测,可行。
C++实现高斯滤波器的更多相关文章
- vs2015+opencv3.3.1 实现 c++ 彩色高斯滤波器(Gaussian Smoothing, Gaussian Blur, Gaussian Filter)
//高斯滤波器 https://github.com/scutlzk#include <opencv2\highgui\highgui.hpp> #include <iostream ...
- 二维高斯滤波器(gauss filter)的实现
我们以一个二维矩阵表示二元高斯滤波器,显然此二维矩阵的具体形式仅于其形状(shape)有关: def gauss_filter(kernel_shape): 为实现二维高斯滤波器,需要首先定义二元高斯 ...
- Introduction to gaussian filter 高斯滤波器
Introduction to gaussian filter 我尝试尽可能低门槛的介绍这些好玩的东东-这里只须要正态分布函数作为基础就可以開始玩图像的高斯滤波了. Don't panic ! 在通常 ...
- vs2015+opencv3.3.1 实现 c++ 灰度高斯滤波器
#include <opencv2\highgui\highgui.hpp> #include <iostream> #include<vector> using ...
- Matlab 高斯_拉普拉斯滤波器处理医学图像
前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...
- 学习 opencv---(7) 线性邻域滤波专场:方框滤波,均值滤波,高斯滤波
本篇文章中,我们一起仔细探讨了OpenCV图像处理技术中比较热门的图像滤波操作.图像滤波系列文章浅墨准备花两次更新的时间来讲,此为上篇,为大家剖析了"方框滤波","均值滤 ...
- Atitit 图像处理 平滑 也称 模糊, 归一化块滤波、高斯滤波、中值滤波、双边滤波)
Atitit 图像处理 平滑 也称 模糊, 归一化块滤波.高斯滤波.中值滤波.双边滤波) 是一项简单且使用频率很高的图像处理方法 用途 去噪 去雾 各种线性滤波器对图像进行平滑处理,相关OpenC ...
- 『OpenCV3』滤波器边缘检测
一.原理简介 边缘检测原理 - Sobel, Laplace, Canny算子 X方向Sobel算子 -1 -2 -1 0 0 0 1 2 1 Y方向Sobel算子 -1 0 1 -2 0 2 -1 ...
- python opencv3 滤波器 卷积核
git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np from sc ...
随机推荐
- C++学习---- static关键字用法总结
static: 作用:存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static变量. 1.隐藏:(静态全局变量和静态函数) ...
- 机器学习 (三) 逻辑回归 Logistic Regression
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...
- Long Short-Term Memory (LSTM)
Long Short-Term Memory (LSTM) Outline Background LSTM Network Extended LSTM LST ...
- 配置cas可外网访问
把应用程序tomcat下的conf下的context.xml里配置内容修改 如把: D:\apache-tomcat-APP\conf\context.xml <Resource name=&q ...
- hash function比较
http://blog.csdn.net/kingstar158/article/details/8028635 由于工作需要,针对千万级别的数据,使用stl::map着实存在着效率问题,最后使用bo ...
- 【Linux】——实用命令
[前言] Linux的命令可以分为文件存取.目录操作.进程管理.权限管理.磁盘操作等内容,大量的命令方便了用户进行更快捷更高效的工作.但有一点需要说明的是,如果不采用linux的命令,也可以完成相应的 ...
- 【PHP】- 魔术常量
PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了.有八个魔术常量它们的值随着它们在代 ...
- Maven中mirrors和repository的关系
一.前言 之前没有搞清楚pom.xml里面配置的repositorys节点配置的仓库和mirrors里面配置的仓库的“镜像”间的关系,特意去搜索了相关内容,这边有篇文章讲得透彻,所以这边转载一下~ 二 ...
- Struts1之bean标签
用于输出 <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %> ...
- Mac系统中常用快捷键
刚刚接触IOS系统,收集了一些快捷键和系统指令,以便能更好的学习IOS开发. 一.文件操作 复制:Command + C 粘贴:Command + V 回退:Command + ...