温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Opencv读取摄像头

发布时间:2021-12-29 17:29:35 来源:亿速云 阅读:383 作者:小新 栏目:互联网科技

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

首先测试一下摄像头,打开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 <stdio.h>  
#include <opencv2/opencv.hpp>  
  
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读取摄像头”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI