在 c++ 中出现 opencv 错误
Getting opencv error in c++
我试图得到opencv的错误!假设我有这个程序:
#include <opencv2corecore.hpp>
#include <opencv2highguihighgui.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 ......opencvmoduleshighguisrcwindow.cpp, line 261
我的问题是我如何才能收到此消息并将其保存在我收到的每个错误的字符串中!如果有可能逃脱程序崩溃!
提前感谢!
它使用C++例外。有关详细信息,请参阅文档中的此处。
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
。该函数可以在此处看到。它将始终在 stderr 上打印错误文本,除非您没有设置customErrorCallback
。您可以通过cvRedirectError
执行此操作,请参阅此处。
您必须检查代码中的 OpenCV 函数调用是否成功执行。然后你就可以理解确切的问题了。这是修改后的代码。
int main (){
cv::Mat frame;
cv::VideoCapture cap(1); // I don't have a second videoinput device!
if ( !cap.isOpened() ) // if not success, exit program
{
cout << "Cannot open the video cam" << endl;
return -1;
}
int key = 0;
while(key !=27){
bool bSuccess = cap.read(frame); // read a new frame from video
if (!bSuccess) //if not success, break loop
{
cout << "Cannot read the frame from video cam" << endl;
break;
}
cv::imshow("frame",frame);
key = cv::waitKey(10);
}
cap.release();
return 0;
}
相关文章:
- OpenCV 3 错误"CV_FOURCC":找不到标识符
- OpenCV 错误:相机校准:断言在matrix_wrap.cpp失败
- 使用 c++ 构建时出现 Opencv 错误
- OpenCV(3.4.1) 错误:断言失败(变暗 <= 2 && step[0] > 0) in cv::Mat::locateROI
- OpenCV 错误:断言失败 - 矩阵减去
- OpenCV 错误:断言在 cv::Mat 行 522 中失败
- OpenCV 错误的解决方案:不支持的格式或格式组合 - 当将 ORB 功能与 FlannBasedMatcher 匹配
- OPENCV.3.0错误:0xc0000005:访问违规读取位置0x00000000
- 在Raspberry Pi上构建时OpenCV错误
- OPENCV错误在XCode 8中加载Fisher面部识别器时
- OpenCV 错误:ERClassifierNM1 中的错误参数
- OpenCV 错误:断言失败(((((sizeof(size_t)<<28)|0x8442211)....957路
- 使用CV :: ML :: STATMODEL :: TRAIN使用KNN的OPENCV错误
- C++ / CannyEdgeDetection.exe 已停止工作 代码块 /OpenCV 错误:断言失败
- OPENCV错误在Ubuntu14.04上编译CAFFE-1.0时
- OPENCV错误:不良的参数(字节必须为16、32或64)在简介Descriptorextractorimpl中
- OPENCV错误:未指定的错误(未实现该函数)
- OpenCV 错误:“MAT”不是“cv”的成员
- 测试构建C++包装器时出现 OpenCV 错误
- 如何修复此 OpenCV 错误:断言失败((无符号)i < (无符号)cn) 在 cv::Vec<unsigned char,3>:::运算符 (), 文件