我按照给定here的教程中所述运行命令之后,尝试使用c ++在colab上运行opencv。但是,这给出了运行示例代码时无法访问的cvstd.hpp依赖项错误。
C ++:
%%cu
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace std;
using namespace cv;
int main(){
VideoCapture cap("/content/drive/My Drive/video.mp4");
if(!cap.isOpened()){
cout << "Error opening video stream or file" << endl;
return -1;
}
while(1){
Mat frame;
cap >> frame;
if (frame.empty())
break;
imshow( "Frame", frame );
char c=(char)waitKey(25);
if(c==27)
break;
}
cap.release();
destroyAllWindows();
return 0;
}
运行笔记本电脑后出现错误:
/tmp/tmpmqnpzz6a/118ab454-d448-48e9-9a1d-1f70bf66c348.cu(18):警告:字符文字中的字符过多-忽略了多余的前导字符
/tmp/tmpmqnpzz6a/118ab454-d448-48e9-9a1d-1f70bf66c348.cu(18):错误:“ cv :: String :: String(int)” /usr/include/opencv2/core/cvstd.hpp(577):此处无法访问
在“ /tmp/tmpxft_00006b50_00000000-8_118ab454-d448-48e9-9a1d-1f70bf66c348.cpp1.ii”的编译中检测到1个错误。
我的目标是比较colab上cpu和gpu中opencv c ++视频阅读的编译时间。任何帮助将不胜感激!