Opencv 错误捕捉

opencv出错捕捉详细见 opencv中文官网介绍,这里给出一个大概使用过程。

1.使用默认opencv自带的回调函数是直接返回0,所以要定义自己的错误回调函数。以下是示例:

 int my_cvStdErrReport( int status, const char* func_name, const char* err_msg,
                          const char* file_name, int line, void* userdata )
{
   CString outString;
   //状态由数字转化为语言提示 
   const char *status_char=cvErrorStr(status);//这里可以自己定义转换函数。
   if(status_char)
 outString.Format("出错原因:%s  ",status_char);
  
  ……

 把其他信息添加到CString里面

 ……
   //MFC下面弹出提示框
   AfxMessageBox(outString);

  //最好添加错误处理,否则只是弹出提示,程序还是出问题。
   return 1;//返回值跟后续Opencv处理有关。还需要补充
}


2.在程序开始要捕捉错误的时候添加函数,例如在 OnInitDialog() 里面添加如下函数:

   //设置错误捕捉模式
   cvSetErrMode(CV_ErrModeParent);
   //设置错误时的回调函数
    cvRedirectError(my_cvStdErrReport);


上面的操作就完成一个简单的opencv错误捕捉。


参考资料:Cxcore错误处理和系统函数

http://www.opencv.org.cn/index.php/Cxcore%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86%E5%92%8C%E7%B3%BB%E7%BB%9F%E5%87%BD%E6%95%B0#RedirectError

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值