《学习OpenCV》练习5-2

来源:互联网 发布:生产工艺流程图软件 编辑:程序博客网 时间:2024/05/17 08:58
#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;}

0 0
原创粉丝点击