OpenCV异常处理机制

上传人:碎****木 文档编号:220862357 上传时间:2021-12-09 格式:DOCX 页数:4 大小:10.93KB
返回 下载 相关 举报
OpenCV异常处理机制_第1页
第1页 / 共4页
OpenCV异常处理机制_第2页
第2页 / 共4页
OpenCV异常处理机制_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《OpenCV异常处理机制》由会员分享,可在线阅读,更多相关《OpenCV异常处理机制(4页珍藏版)》请在金锄头文库上搜索。

1、OpenCV 特别处理机制OpenCV 特别处理机制分类:openCV2021-12-14 21:49187 人阅读评论(1)保藏举报很多函数,都会对参数的有效性进展推断,不符合要求,直 接弹对话框,然后程序崩溃,逼得你不得不正确调用他。这 个属于编程的规律错误,就像 assert 一样,用于排解编码错误,这和业务错误处理的层次是不同的。一般,我们仿照这种模式,如下view plainprint?int TestCvError( IplImage *pImgGray, int iNum)CV_FUNCNAME( “TestCvError“ ); BEGIN;if (iNum <= 1 )

2、 CV_ERROR(CV_StsOutOfRange, “参数iNum 必需大于 1“); if( !pImgGray )CV_ERROR( CV_StsNullPtr, “Null pointer to pImgGray“ );if( pImgGray->depth != IPL_DEPTH_8U && pImgGray->nChannels != 1 )CV_ERROR( CV_StsUnsupportedFormat, “Only 8-bit grayscale images are supported“ );/函数主要实现局部 END;return 0;in

3、tTestCvError( IplImage *pImgGray, int iNum)CV_FUNCNAME( “TestCvError“ ); BEGIN;if (iNum <= 1 )CV_ERROR(CV_StsOutOfRange, “参数 iNum 必需大于 1“);if( !pImgGray )CV_ERROR( CV_StsNullPtr, “Null pointer to pImgGray“ );if( pImgGray->depth != IPL_DEPTH_8U && pImgGray->nChannels != 1 )CV_ERROR(

4、CV_StsUnsupportedFormat, “Only 8-bit grayscale images are supported“ );/函数主要实现局部 END; return 0;假设不想这么麻烦,直接用 OPENCV_ASSERT 是一样的。比方:OPENCV_ASSERT(pImgGray != NULL, “TestCvError“, “Null pointer to pImgGray“);问题是,有时候产品未必能够很好的测试,总有 bug,而且要交付使用,总不能让用户面对错误弹出窗口吧,这时候在 程序的初始化局部,写入如下代码:view plainprint?#ifdef _DEBUGcvSetErrMode(CV_ErrModeLeaf);#elsecvSetErrMode(CV_ErrModeSilent);#endif#ifdef _DEBUGcvSetErrMode(CV_ErrModeLeaf); #elsecvSetErrMode(CV_ErrModeSilent); #endif在release 版本里面将 gui 报错禁用掉。这时候,假设内存越界、参数错误,程序特别退出,看门狗起作用。这些机制,查看 cxerror.h/cxerror.cpp 就能明白了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号