我试图通过管道将gphoto2电影捕获的输出传输到我的opencv程序
gphoto2 --capture-movie --stdin | ./myexe
我的第一次尝试就是这样做:
while(1)
{
std::stringstream ss;
ss << "/dev/stdin";
cv::Mat m = cv::imread(ss.str());
namedWindow( "LiveView", WINDOW_AUTOSIZE );
imshow( "LiveView", m );
waitKey(1);
}
但遗憾的是,在编译工作时,执行没有,我得到了
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat, file /build/buildd/opencv-2.4.2+dfsg/modules/core/src/array.cpp, line 2482 terminate called after throwing an instance of 'cv::Exception'
what(): /build/buildd/opencv-2.4.2+dfsg/modules/core/src/array.cpp:2482: error: (-206) Unrecognized or unsupported array type in function cvGetMat
我看到类似的问题here,但它对我不起作用 - 编译失败了
readbytes=read(fileno(stdin),ca,BUFSIZE);
error: no matching function for call to ‘read(int, char [10240], int)’
我是c / opencv的新手,所以我可能会错过一些包含或其他东西 . 因为我是新用户,所以我不能在那里请求帮助/澄清,所以我决定提出一个新问题 .