我在这里搜索了一下,但似乎没有人有同样的错误,我正在尝试在树莓派上创建一个颜色检测相机,我用过
https://github.com/robidouille/robidouille/tree/master/raspicam_cv
用于本教程并使其正常工作,但现在我已经
了IplImage* image = raspiCamCvQueryFrame(capture);
cv::cvtColor(cv::Mat(image), x, cv::COLOR_BGR2HSV);
它会编译,但运行时会给出
cvGetMat函数中无法识别或不支持的数组类型
没有cv :: Mat(图像)我因
而无法编译从“IplImage *”类型的表达式初始化“cv :: InputArray”类型的引用无效
答案 0 :(得分:0)
正如评论中所提到的,使用新的C ++界面会更好。
以下代码将在窗口中显示来自网络摄像头的Feed,程序将在“q'按下:(source)
#include "opencv2/highgui/highgui.hpp"
int main(int argc, const char** argv) {
cv::VideoCapture capture;
cv::Mat image;
// Unless you need to get images from multiple devices,
// using '-1' will automatically select the webcam.
capture.open(-1);
if (capture.isOpened()) {
cv::namedWindow("WebCam", cv::WINDOW_AUTOSIZE);
while (1) {
capture.read(image);
cv::imshow("WebCam", image);
int c = cv::waitKey(10);
if ((char)c == 'q') {
break;
}
}
}
capture.release();
return 0;
}
我已经在Ubuntu 14.04上测试了这段代码并将其编译为:
$ clang++ -o cvtest cvtest.cpp -lopencv_core -lopencv_highgui
如果您迫切希望继续使用IplImage
和C界面,那么我无法帮助您。