4基于opencv的线性领域滤波(方框_均值_高斯滤波)
来源:互联网 发布:小学生网络教学 编辑:程序博客网 时间:2024/06/05 14:20
线性领域滤波:方框滤波,均值滤波,高斯滤波
一、方框滤波函数boxFilter
1.1示例
MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
MatOutImage;
boxFilter(ScrImgaeCopy1, OutImage, -1, Size(5, 5));
1.2 boxFilter ()函数各个参数详解
Ø ScrImgaeCopy1:输入图像
Ø OutImage:输出图像
Ø -1:输出图像的深度,-1代表输出源图像,即src.depth()
Ø Size(5, 5):内核大小。Size(3,3)就表示3x3的核大小。
二、均值滤波函数Blur
2.1示例
MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
MatOutImage1;
blur(ScrImage, OutImage1, Size(5, 5));
2.2 blur()函数各个参数详解
Ø ScrImage:输入图像
Ø OutImage1:输出图像
Ø Size(5, 5):内核大小。Size(3,3)就表示3x3的核大小。
三、高斯滤波GaussianBlur
3.1示例
MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
MatOutImage2;
GaussianBlur(ScrImage, OutImage2, Size(5, 5), 0,0);
3.2 GaussianBlur()函数各个参数详解
Ø ScrImage:输入图像
Ø OutImage2:输出图像
Ø Size(5, 5):内核大小。Size(3,3)就表示3x3的核大小。
0:第四个参数,double类型的sigmaX,表示高斯核函数在X方向的的标准偏差。
0:第五个参数,double类型的sigmaY,表示高斯核函数在Y方向的的标准偏差。
四、完整程序
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include <vector>
#include <cstdio>
using namespacestd;
using namespacecv;
Mat g_ScrImage, g_ScrImageboxFilter, g_ScrImageBlur,g_ScrImageGaussianBlur;
static voidon_boxFilter(int,void*);
static voidon_Blur(int,void*);
static voidon_GaussianBlur(int,void*);
intboxFiltervalue;
intBlurvalue;
intGaussianBlurvalue;
int main()
{
Mat ScrImage,ScrImgaeCopy1, OutImage, OutImage1, OutImage2, OutImage3, OutImage4;
ScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像
ScrImage.copyTo(ScrImgaeCopy1); //将图像赋值一幅ScrImage.copyTo(ScrImgaeCopy1),ScrImgaeCopy1=ScrImage.clone()都是直接赋值图像 “ScrImgaeCopy1=ScrImage”,“Mat ScrImgaeCopy1(ScrImage)”是直接赋值矩阵地址
g_ScrImage =ScrImage.clone();
g_ScrImageboxFilter= ScrImage.clone();
g_ScrImageBlur =ScrImage.clone();
g_ScrImageGaussianBlur= ScrImage.clone();
namedWindow("【效果图boxFilter】");
namedWindow("【效果图blur】");
namedWindow("【效果图GaussianBlur】");
boxFiltervalue =1;
Blurvalue = 1;
GaussianBlurvalue= 1;
createTrackbar("内核值","【效果图boxFilter】",&boxFiltervalue, 50, on_boxFilter);
on_boxFilter(boxFiltervalue,0);
createTrackbar("内核值","【效果图blur】", &Blurvalue, 50, on_Blur);
on_boxFilter(Blurvalue,0);
createTrackbar("内核值","【效果图GaussianBlur】",&GaussianBlurvalue, 50, on_GaussianBlur);
on_boxFilter(GaussianBlurvalue,0);
waitKey(0);
return NULL;
}
static voidon_boxFilter(int,void*)
{
if(boxFiltervalue != 0)
{
boxFilter(g_ScrImage,g_ScrImageboxFilter, -1, Size(boxFiltervalue, boxFiltervalue));
imshow("【效果图boxFilter】",g_ScrImageboxFilter);
}
}
static voidon_Blur(int,void*)
{
if(Blurvalue != 0)
{
blur(g_ScrImage,g_ScrImageBlur, Size(Blurvalue, Blurvalue));
imshow("【效果图blur】", g_ScrImageboxFilter);
}
}
static voidon_GaussianBlur(int,void*)
{
if(GaussianBlurvalue != 0)
{
GaussianBlur(g_ScrImage,g_ScrImageboxFilter, Size(GaussianBlurvalue * 2 + 1, GaussianBlurvalue * 2 +1), 0, 0);
imshow("【效果图GaussianBlur】",g_ScrImageboxFilter);
}
}
参考内容:
http://www.cnblogs.com/mq0036/p/5902104.html
- 4基于opencv的线性领域滤波(方框_均值_高斯滤波)
- OpenCV学习笔记(九):线性滤波:方框滤波、均值滤波、高斯滤波
- opencv开发笔记(十):线性滤波之方框滤波、均值滤波、高斯滤波
- 【OpenCV笔记 10】OpenCV线性滤波(均值滤波、方框滤波、高斯滤波)
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- Opencv学习笔记:线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- OpenCV之八 线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- 【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波
- C语言基础 递归
- 线程并发四:线程安全之synchronized
- A configuration error occurred during startup.Please verify the preference field with the prompt: To
- Tableview添加索引
- 基于轮廓线索(Contour Cues)的实时行人检测
- 4基于opencv的线性领域滤波(方框_均值_高斯滤波)
- form转json
- java行为设计模式——策略模式
- orcl中查询两个时间的差值(包括时分秒)
- Android引入外部工程作为library,运行主工程报错Manifest merger failed with multiple errors, see ?
- cuda8.0和cudnn v5.1在ubuntu16.04装机
- Android studio 多个so库配置 ffmpeg库配置 cmake编译
- 页面链接跳转历史URL不记录的兼容处理
- nginx日志说明