《学习OpenCV》练习5-2
2014-02-15 18:55
316 查看
#include "cv.h" #include "highgui.h" #include "stdio.h" //***************************************************** //主函数 //***************************************************** int main() { /*创建一幅源图像,全黑,中间一点白*/ IplImage* sorce_image = cvCreateImage( cvSize(400,400), IPL_DEPTH_8U, 1 ); cvZero( sorce_image ); cvSet2D( sorce_image, 200, 200, cvScalar(255) ); cvNamedWindow( "sorce_image", CV_WINDOW_AUTOSIZE ); cvShowImage( "sorce_image", sorce_image ); /*为处理后的图像生成的窗口*/ cvNamedWindow( "gauss_5x5",CV_WINDOW_AUTOSIZE ); cvNamedWindow( "gauss_5x5x2",CV_WINDOW_AUTOSIZE ); cvNamedWindow( "gauss_9x9",CV_WINDOW_AUTOSIZE ); /*要处理的图像的定义*/ IplImage* gauss_5x5 = cvCreateImage( cvGetSize(sorce_image), IPL_DEPTH_8U, 1 ); IplImage* gauss_5x5x2 = cvCreateImage( cvGetSize(sorce_image), IPL_DEPTH_8U, 1 ); IplImage* gauss_9x9 = cvCreateImage( cvGetSize(sorce_image), IPL_DEPTH_8U, 1 ); /*对要处理的图像进行高斯平滑处理*/ cvSmooth( sorce_image, gauss_5x5, CV_GAUSSIAN, 5, 5 ); cvSmooth( gauss_5x5, gauss_5x5x2, CV_GAUSSIAN, 5, 5 ); //进行第二次高斯模糊处理 cvSmooth( sorce_image, gauss_9x9, CV_GAUSSIAN, 9, 9 ); /*显示进行处理后的图像*/ cvShowImage( "gauss_5x5", gauss_5x5 ); cvShowImage( "gauss_5x5x2", gauss_5x5x2 ); cvShowImage( "gauss_9x9", gauss_9x9 ); /*释放内存并销毁窗口*/ cvWaitKey( 0 ); cvReleaseImage( &sorce_image ); cvReleaseImage( &gauss_5x5 ); cvReleaseImage( &gauss_5x5x2 ); cvReleaseImage( &gauss_9x9 ); cvDestroyAllWindows; return 0; }
相关文章推荐
- 《学习OpenCV》练习4-2
- 《学习OpenCV(中文版)》第4章 练习3a
- 《学习OpenCV》练习4-3
- 《学习OpenCV(中文版)》第4章 练习3b
- 《学习OpenCV》练习4-4
- 《学习OpenCV (中文版)》第2章 练习3和练习4
- 《学习OpenCV(中文版)》第4章 练习4
- 基于QT5的opencv学习之《学习opencv课后练习3-7》
- 《学习OpenCV》练习5-1
- 《学习OpenCV(中文版)》第4章 练习5a
- 《学习OpenCV》练习5-4
- 《学习OpenCV》练习5-5
- 《学习OpenCV》第四章练习答案1-b,1-c,2-a
- 《学习OpenCV》练习5-11
- 《学习OpenCV(中文版)》第4章 练习2
- 《学习OpenCV》例2-3课后练习(page24)
- 《学习OpenCV》练习6-2
- 《学习OpenCV》练习2-5
- 《学习OpenCV》练习6-5
- 《学习OpenCV》练习3-2