opencv图像平滑处理

// 图像平滑处理.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/core/core.hpp>
using namespace cv;
void smooth_(IplImage* image);//图像平滑处理函数声明
int _tmain(int argc, _TCHAR* argv[])
{
//加载原图像
IplImage* src = cvLoadImage("chepai.jpg");
smooth_(src);
return 0;
}


void smooth_(IplImage* image)//图像平滑处理函数定义
{   
//创建窗口
cvNamedWindow("原图像");
cvNamedWindow("平滑后图像");
//在窗口中显示图像
cvShowImage("原图像",image);


//创建输出图像数据结构
IplImage* out = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3);
//cvGetSize(image)获取图像尺寸,IPL_DEPTH_8U图像数据是8位无符号整型,3通道数
//平滑处理
cvSmooth(image,out,CV_GAUSSIAN,5,5);

//函数原型如下
/*CVAPI(void) cvSmooth( const CvArr* src, CvArr* dst,
int smoothtype CV_DEFAULT(CV_GAUSSIAN),
int size1 CV_DEFAULT(3),
int size2 CV_DEFAULT(0),
double sigma1 CV_DEFAULT(0),
double sigma2 CV_DEFAULT(0));*/
cvShowImage("平滑后图像",out);
cvWaitKey(0);
cvDestroyWindow("原图像");
cvDestroyWindow("平滑后图像");

}

效果如下:

opencv图像平滑处理


opencv图像平滑处理