调用OpenCV的库函数,对图像进行平滑处理。

1,代码及注释

#include "highgui.h"

void example2_4(IplImage* image){

    cvNameWindow("Example4-in");

    cvNameWindow("Example4-out");

    cvShowImage("Example4-in",image);

    IplImage* out =cvCreateImage(//给处理后的图像分配结构空间

        cvGetSize(image);//当前图像结构的大小(直接用cvGetSize()函数获取)

        CV_DEPTH_8U;//像素点的数据类型(每个像素占2的8次方,即真彩色)

        3                //三通道

    );

    cvSmoot(image,out,CV_GAUSSIAN,3,3);

    //参数1:输入图像,2:输出图像,3:处理的算法(这里为高斯平滑),4:平滑范围(这里为3*3)

    cvShowImage("Example4-out",out);

    cvWaitKey(0);

    cvReleaseImage(&out);

    cvDestroyAllWindows();

}

int main(){

    IplImage* image = cvLoadImage("pic.jpg");

    example2_4(image);

}

2,高斯模糊

关于高斯模糊的算法,推荐这个文章

http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

你可能感兴趣的:(学习Opencv)