#include "cv.h" #include <cxcore.h> #include <highgui.h> int main() { //将图像文件加载至内存 分配图像数据结构所需要的内控 返回一个指向数据结构IplImage的内存块: IplImage *img = cvLoadImage("C:\\Users\\freeboy\\Desktop\\学习资料\\例图\\lena.jpg"); //需要把这个图片放在这个project下面,比如我的:&user name\Documents\Visual Studio 2010\Projects\opencvhello\opencvhello文件夹里面 //定义两个窗口,自由大小。本函数由HighGUI库提供。第二个参数如果为0,则窗口大小不会因图像的大小而改变。 cvNamedWindow("Image-in",CV_WINDOW_AUTOSIZE); cvNamedWindow("Image-out",CV_WINDOW_AUTOSIZE); //先显示原jpg图 cvShowImage("Image-in",img); //分配空间存储处理后的图像 IplImage *out=cvCreateImage( cvGetSize(img),//当前图像大小 IPL_DEPTH_8U,//各通道每个像素点的类型 3//通道总数 ); //进行高斯处理,处理的是指针img指向的内存,将处理后的数据交给out指针指向的内存,对每个像素周围3x3的区域进行高斯平滑处理(其实输入输出图像可以是相同的) cvSmooth(img,out,CV_GAUSSIAN,3,3); //显示处理后的图像 cvShowImage("Image-out",out); //清除垃圾 cvReleaseImage(&out); cvReleaseImage(&img); //cvWaitKey的参数如果是正值,则程序会等待数值个毫秒,然后继续运行;如果是负值或者0,就会等待用户触发按键操作,然后继续程序。 cvWaitKey(); //销毁窗口,养成好习惯 cvDestroyWindow("Image-in"); cvDestroyWindow("Image-out"); return 0; }
opencv实现高斯模糊
最新推荐文章于 2025-05-20 09:01:08 发布