图像的一个简单变化就是对图像进行平滑处理,通过对图像数据与高斯或者其他核函数进行卷积有效的减少图像信息内容。
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace std;
using namespace cv;
int main(int argc, const char * argv[]) {
// insert code here...
const char * ImageLocation = "/Users/linwang/Downloads/Lena.jpg";
IplImage * image = cvLoadImage(ImageLocation);
cvNamedWindow("Example4-in");
cvNamedWindow("Example4-out");
cvShowImage("Example4-in", image);
IplImage * outImage = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3);
cvSmooth(image, outImage,CV_GAUSSIAN,3,3);
cvShowImage("Example4-out", outImage);
cvReleaseImage(&outImage); //Create才需要释放
cvWaitKey(0);
cvDestroyWindow("Example4-in");
cvDestroyWindow("Example4-out");
return 1;
}
cvCreateImage 是创建一个图像存储空间。
smooth是平滑处理函数:将像素周围3*3的区域进行高斯平滑处理。