opencv实现高斯模糊

[cpp]  view plain copy
  1. #include "cv.h"  
  2. #include <cxcore.h>  
  3. #include <highgui.h>  
  4.   
  5.   
  6. int main()  
  7. {  
  8.         //将图像文件加载至内存 分配图像数据结构所需要的内控 返回一个指向数据结构IplImage的内存块:  
  9.         IplImage *img = cvLoadImage("C:\\Users\\freeboy\\Desktop\\学习资料\\例图\\lena.jpg");  
  10.         //需要把这个图片放在这个project下面,比如我的:&user name\Documents\Visual Studio 2010\Projects\opencvhello\opencvhello文件夹里面  
  11.         //定义两个窗口,自由大小。本函数由HighGUI库提供。第二个参数如果为0,则窗口大小不会因图像的大小而改变。  
  12.         cvNamedWindow("Image-in",CV_WINDOW_AUTOSIZE);  
  13.         cvNamedWindow("Image-out",CV_WINDOW_AUTOSIZE);  
  14.         //先显示原jpg图  
  15.         cvShowImage("Image-in",img);  
  16.        //分配空间存储处理后的图像  
  17.         IplImage *out=cvCreateImage(  
  18.             cvGetSize(img),//当前图像大小  
  19.             IPL_DEPTH_8U,//各通道每个像素点的类型  
  20.             3//通道总数  
  21.             );  
  22. //进行高斯处理,处理的是指针img指向的内存,将处理后的数据交给out指针指向的内存,对每个像素周围3x3的区域进行高斯平滑处理(其实输入输出图像可以是相同的)  
  23.         cvSmooth(img,out,CV_GAUSSIAN,3,3);  
  24. //显示处理后的图像  
  25.         cvShowImage("Image-out",out);  
  26.   
  27.       //清除垃圾  
  28.         cvReleaseImage(&out);  
  29.         cvReleaseImage(&img);  
  30.   
  31.         //cvWaitKey的参数如果是正值,则程序会等待数值个毫秒,然后继续运行;如果是负值或者0,就会等待用户触发按键操作,然后继续程序。  
  32.         cvWaitKey();  
  33.   
  34.        //销毁窗口,养成好习惯  
  35.         cvDestroyWindow("Image-in");  
  36.         cvDestroyWindow("Image-out");  
  37.   
  38.         return 0;  
  39.   
  40. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值