如何使用Opencv读取摄像头

这篇文章将为大家详细讲解有关如何使用Opencv读取摄像头,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联建站-专业网站定制、快速模板网站建设、高性价比永年网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永年网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永年地区。费用合理售后完善,十年实体公司更值得信赖。

首先测试一下摄像头,打开Jetson TX1的终端 写入命令:nvgstcapture-1.0 ,摄像头就会起来了

简单的使用了手册中的几个命令

  1. --prev_res 预览视屏的分辨率,高度和宽度,用的是CSI摄像头的话范围是 2 to 12 (5632x4224) e.g., nvgstcapture-1.0 --prev-res=3

  2. --cus-prev-res 自定义预览分辨率,宽度和高度,仅支持CSI摄像头 e.g., nvgstcapture-1.0 --cus-prev-res=1920x1080

多个命令同时使用的话用!隔开 想关掉摄像头的额话,直接在终端输入q再按回车 想捕获图片的话,在终端输入j再按回车,图片将保存当前目录下


使用Opencv读取摄像头

记得一定要安装gstreamer这个依赖

#include   
#include   
  
using namespace cv;  
using namespace std;  
  
int main(int argc, char** argv)  
{  
    VideoCapture cap("nvcamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720,format=(string)I420, framerate=(fraction)24/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;  
    }  
  
    while(1)  
    {  
         Mat frame;  
        cap >> frame;  
        imshow("original", frame);  
        if((char)waitKey(30) == 27)  
            break;  
    }  
    return 0;  
}

关于“如何使用Opencv读取摄像头”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文标题:如何使用Opencv读取摄像头
新闻来源:http://scyanting.com/article/ijgsej.html