コード例 #1
0
    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);
    }
コード例 #2
0
ファイル: QBtPackDialog.cpp プロジェクト: sclown/bsc
//*******************************************************************
// showEvent                                       PRIVATE inherited
//*******************************************************************
void QBtPackDialog::showEvent( QShowEvent* const in_event )
{
   QBtShared::resize_width( this, 30 );
   QDialog::showEvent( in_event );
   
   {
      QPalette p = QPalette();
      p.setColor( source_->backgroundRole(), palette().color( backgroundRole() ) );
      p.setColor( source_->foregroundRole(), palette().color( foregroundRole() ) );
      source_->setPalette( p );
   }
   {
      QPalette p = QPalette();
      p.setColor( destination_->backgroundRole(), palette().color( backgroundRole() ) );
      p.setColor( destination_->foregroundRole(), palette().color( foregroundRole() ) );
      destination_->setPalette( p );
   }
   remove_ext();
   display_src( *data_.begin() );
   display_dst();
}
コード例 #3
0
ファイル: QBtPackDialog.cpp プロジェクト: sclown/bsc
//*******************************************************************
// type_changed                                         PRIVATE slot
//*******************************************************************
void QBtPackDialog::type_changed()
{
   display_dst();
}
コード例 #4
0
ファイル: QBtPackDialog.cpp プロジェクト: sclown/bsc
//*******************************************************************
// compression                                          PRIVATE slot
//*******************************************************************
void QBtPackDialog::compression( const bool in_state )
{
   tool_gbox_->setEnabled( in_state );
   ratio_->setEnabled( in_state );
   display_dst();
}