gpt4 book ai didi

c++ - 无法在 Linux 中使用 OpenCV 打开相机

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:18 25 4
gpt4 key购买 nike

我现在在 Linux 上使用 OpenCV 2.4.3。在我的/dev/中有一个名为 video0 的设备,它可以很好地处理奶酪。

目前我正在使用以下代码尝试访问相机。这段代码是用 qtcreator 编写的,并用 qmake 编译以包含必要的库。至于OpenCV库,我在自己的机器上按照网站上的说明下载了源码编译。

++main.cpp:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <cstdlib>

int main(int argc, char** argv) {
int cameraNumber = 0;
if (argc>1)
cameraNumber = atoi(argv[1]);
cv::VideoCapture camera;
camera.open(cameraNumber);
if(!camera.isOpened()) {
std::cerr<<"Error opening camera"<<std::endl;
exit(1);
}
camera.set(CV_CAP_PROP_FRAME_WIDTH,640);
camera.set(CV_CAP_PROP_FRAME_HEIGHT,480);

while(true) {
cv::Mat cameraFrame;
camera>>cameraFrame;
if (cameraFrame.empty()){
std::cerr<<"No frame read from camera"<<std::endl;
exit(1);
}
imshow("Camera",cameraFrame);

char keypress = cv::waitKey(20);
if (keypress==27) {
break;
}
}
return 0;
}

++测试.pro

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../opt/OpenCV-2.4.3/lib/release/ -lopencv_core
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../opt/OpenCV-2.4.3/lib/debug/ -lopencv_core
else:unix: LIBS += -L$$PWD/../../../../opt/OpenCV-2.4.3/lib/ -lopencv_core

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../opt/OpenCV-2.4.3/lib/release/ -lopencv_highgui
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../opt/OpenCV-2.4.3/lib/debug/ -lopencv_highgui
else:unix: LIBS += -L$$PWD/../../../../opt/OpenCV-2.4.3/lib/ -lopencv_highgui

INCLUDEPATH += $$PWD/../../../../opt/OpenCV-2.4.3/include
DEPENDPATH += $$PWD/../../../../opt/OpenCV-2.4.3/include

但是程序运行时会输出Error opening camera并退出,表示没有成功打开相机。我已经用谷歌搜索了一段时间,但没有找到任何可能的解决方案来解决这个问题。有人可以给我一些关于如何解决这个问题的建议吗?谢谢!

最佳答案

也许您缺少一些 linux 所需的附加库。

根据 OpenCV install guide, Extra Prerequisites ,在linux上使用OpenCV时,需要安装这些库:ffmpeg、libgstreamer、libv4l、libxine、unicap、libdc1394 2.x。

在 Ubuntu 12.04 上,安装以下软件包对我有用(*sudo apt-get install __*):

  • python-opencv
  • libhighgui2.3
  • libhighgui-dev
  • ffmpeg
  • libgstreamer0.10-0
  • libv4l-0
  • libv4l-dev
  • libxine2
  • libunicap2
  • libdc1394-22

祝你好运!

关于c++ - 无法在 Linux 中使用 OpenCV 打开相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14195985/

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