⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 errhandle.cpp

📁 OpenCV的各类例子
💻 CPP
字号:
#include "cxcore.h"#include <stdio.h>void cvResizeDCT( CvMat* input_array, CvMat* output_array ){    CvMat* temp_array = 0; // declare pointer that should be released anyway.    CV_FUNCNAME( "cvResizeDCT" ); // declare cvFuncName    __BEGIN__; // start processing. There may be some declarations just after this macro,               // but they couldn't be accessed from the epilogue.    if( !CV_IS_MAT(input_array) || !CV_IS_MAT(output_array) )        // use CV_ERROR() to raise an error        CV_ERROR( CV_StsBadArg, "input_array or output_array are not valid matrices" );    // some restrictions that are going to be removed later, may be checked with CV_ASSERT()    CV_ASSERT( input_array->rows == 1 && output_array->rows == 1 );    // use CV_CALL for safe function call    CV_CALL( temp_array = cvCreateMat( input_array->rows, MAX(input_array->cols,output_array->cols),                                       input_array->type ));    if( output_array->cols > input_array->cols )        CV_CALL( cvZero( temp_array ));    temp_array->cols = input_array->cols;    CV_CALL( cvDCT( input_array, temp_array, CV_DXT_FORWARD ));    temp_array->cols = output_array->cols;    CV_CALL( cvDCT( temp_array, output_array, CV_DXT_INVERSE ));    CV_CALL( cvScale( output_array, output_array, 1./sqrt((double)input_array->cols*output_array->cols), 0 ));    __END__; // finish processing. Epilogue follows after the macro.    // release temp_array. If temp_array has not been allocated before an error occured, cvReleaseMat    // takes care of it and does nothing in this case.    cvReleaseMat( &temp_array );}int main( int argc, char** argv ){    CvMat* src = cvCreateMat( 1, 512, CV_32F );#if 1 /* no errors */    CvMat* dst = cvCreateMat( 1, 256, CV_32F );#else    CvMat* dst = 0; /* test error processing mechanism */#endif    cvSet( src, cvRealScalar(1.), 0 );#if 0 /* change 0 to 1 to suppress error handler invocation */    cvSetErrMode( CV_ErrModeSilent );#endif    cvResizeDCT( src, dst ); // if some error occurs, the message box will popup, or a message will be                             // written to log, or some user-defined processing will be done    if( cvGetErrStatus() < 0 )        printf("Some error occured" );    else        printf("Everything is OK" );    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -