opencv调用Jeston Tx2板载摄像头的方法

首先,广为流传的代码,及其使用方式是正确的,摘录如下:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <stdio.h>
using namespace cv;
using namespace std;

int main()
{
  VideoCapture cap("nvcamerasrc ! video/x-raw(memory:NVMM), width=(int)640, height=(int)360,format=(string)I420, framerate=(fraction)1/1 ! nvvidconv flip-method=2 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink");
  if (!cap.isOpened())
    {
      cout << "Failed to open camera." << endl;
      return -1;
    }

  for(;;)
    {
      Mat frame;
      cap >> frame;
      imshow("original", frame);
      waitKey(10);
    }
  return 0;
}

其次,在Jeston Tx2刷机的过程中,已经默认安装了opencv,但是这个版本的opencv不支持GStreamer,因此是不能打开摄像头的,运行结果是不能打开摄像头,

再次,应该安装更高版本的opencv,我这里直接安装最新版本的。

最后,如果想使用QT5来调用的话,一定要设置好库的安装路径,并在pro文件里进行设置。

INCLUDEPATH += /usr/local/include/opencv4

LIBS += /usr/local/lib/libopencv_highgui.so \
        /usr/local/lib/libopencv_core.so    \
        /usr/local/lib/libopencv_imgproc.so \
        /usr/local/lib/libopencv_imgcodecs.so\
        /usr/local/lib/libopencv_videoio.so\

注意库头文件的位置和动态链接库的位置。

猜你喜欢

转载自blog.csdn.net/wangyanchao151/article/details/84998606