作者:卿笃军
原文地址:http://blog.csdn.net/qingdujun/article/details/33758877
一、使用OpenCV载入一副图像并进行平滑处理
#include "opencv\highgui.h" #include "opencv\cv.h" int main() { cvNamedWindow("平滑前"); //创建窗体 cvNamedWindow("平滑后"); //创建窗体 IplImage *image = cvLoadImage("zqbb.jpg"); //载入图片 cvShowImage("平滑前",image);//显示图片 //参数:结构大小 数据类型 3通道 IplImage *smooth = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,3); //使每个像素点周围9*9区域进行高斯平滑 cvSmooth(image,smooth,CV_GAUSSIAN,9,9);//平滑处理 cvShowImage("平滑后",smooth);//显示图片 cvWaitKey(); cvReleaseImage(&image); cvDestroyWindow("平滑前"); cvReleaseImage(&smooth); cvDestroyWindow("平滑后"); return 0; }
二、平滑效果
网上搜的,足球宝贝~~~(*^__^*) 嘻嘻……
三、平滑说明
事实上,cvCreateFileCapture()只分配一帧图像的空间,每次调用时覆盖前面一次的数据(这样每次调用返回的指针是一样的)。在这种情况下,我们想分配自己的图像结构空间来存储平滑处理后的图像。
- 第一个参数时一个CvSize结构,这个结构可以通过cvGetSize(image)方便获得;说明当前图像结构的大小。
- 第二个参数告诉我们个个通道每个像素点的数据类型,最后一个参数说明通道的总数。
参考文献:(美)布拉德斯基(Bradski,G.),(美)克勒(Kaehler,A.) 著,于仕琪,刘瑞祯 译.学习OpenCV(中文版)[M].北京:清华大学出版社,2009.26-27.
OpenCV 载入一副图像并进行平滑处理
时间: 2024-10-13 22:47:09