gpt4 book ai didi

c++ - OpenCV - 禁用打印异常

转载 作者:太空宇宙 更新时间:2023-11-03 22:12:53 26 4
gpt4 key购买 nike

我是 OpenCV 的新手,但现在我需要捕获 cv:Exception。我做了 try 和 catch block :

try{
//do some opencv things
}
catch (cv::Exception& e){
cout << "OpenCV error: " << endl << e.what();
cin.get();
}

效果很好,我可以捕获异常。但是异常消息被写入了两次。一个来自 opencv 库,第二个来 self 。

有什么方法可以禁止从 opencv 向 stderr 发送消息吗?我制作了发布版本 - 将 VS2013 更改为 Release 并从所有库的名称中删除了“d”。但是还是写了两次。

最佳答案

您可以使用 cvRedirectError覆盖 OpenCV 的默认错误处理。

你可以使用它like this :

int myErrorHandler(int status, const char* func_name, const char* err_msg, 
const char* file_name, int line, void*)
{
// Do whatever you want here
return 0;
}

cvRedirectError(myErrorHandler); ///< Call this once somewhere

这是恢复默认行为的方式:

cv::redirectError(cv::ErrorCallback())

关于c++ - OpenCV - 禁用打印异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28841400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com