int blur(IplImage *input){
        cv::Mat temp(input);
        src = temp;
        //        IplImage *tt = new IplImage(t);


        namedWindow( window_name, CV_WINDOW_AUTOSIZE );

        /// 载入原图像

        if( display_caption( "Original Image" ) != 0 ) { return 0; }

        dst = src.clone();
        if( display_dst( DELAY_CAPTION ) != 0 ) { return 0; }

        //        /// 使用 均值平滑
        //        if( display_caption( "Homogeneous Blur" ) != 0 ) { return 0; }
        //
        //        for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
        //        { blur( src, dst, Size( i, i ), cv::Point(-1,-1) );
        //            if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }

        /// 使用高斯平滑
        if( display_caption( "Gaussian Blur" ) != 0 ) { return 0; }

        for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
        { GaussianBlur( src, dst, Size( i, i ), 0, 0 );
            if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }


            //                /// 使用中值平滑
            //                if( display_caption( "Median Blur" ) != 0 ) { return 0; }
            //
            //                for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
            //                { medianBlur ( src, dst, i );
            //                    if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }
            //
            //                    /// 使用双边平滑
            //                    if( display_caption( "Bilateral Blur" ) != 0 ) { return 0; }
            //
            //                    for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 )
            //                    { bilateralFilter ( src, dst, i, i*2, i/2 );
            //                        if( display_dst( DELAY_BLUR ) != 0 ) { return 0; } }


            IplImage *ttt = new IplImage(dst);
            cvSaveImage("blur.jpg", ttt);

            /// 等待用户输入
            display_caption( "End: Press a key!" );
            waitKey(0);
    }
Beispiel #2
0
	GLvoid CBasicGUIButton::draw()
	{
		CAbstractGUIItem::draw();
		display_caption();
	}