gpt4 book ai didi

c++ - 在 C++ 中获取 opencv 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:51 24 4
gpt4 key购买 nike

我正在尝试获取opencv的错误!说我有这个程序:

#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>

int main (){
cv::Mat frame;
cv::VideoCapture cap(1); // I don't have a second videoinput device!
int key = 0;

while(key !=27){
cap >> frame;
cv::imshow("frame",frame);
key = cv::waitKey(10);
}

cap.release();
return 0;
}

当我运行这个程序时,我在控制台中看到这条消息:

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in unknown functi
on, file ..\..\..\opencv\modules\highgui\src\window.cpp, line 261

我的问题是如何获取此消息并将其保存在字符串中以用于我收到的每个错误!以及是否有可能避免程序崩溃!

提前致谢!

最佳答案

它使用 C++ 异常。参见 here在文档中获取更多信息。

try
{
... // call OpenCV
}
catch( cv::Exception& e )
{
const char* err_msg = e.what();
std::cout << "exception caught: " << err_msg << std::endl;
}

OpenCV 代码中的CV_Assert 是调用OpenCV 函数error 的宏。那个函数可以看here .它将始终在 stderr 上打印错误文本,除非您没有设置 customErrorCallback。你可以通过 cvRedirectError 做到这一点,参见 here .

关于c++ - 在 C++ 中获取 opencv 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19488635/

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