精华内容
下载资源
问答
  • 今天小编就为大家分享一篇python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要为大家详细介绍了树莓派用python中的OpenCV输出USB摄像头画面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • opencv调用USB摄像头

    2019-11-07 14:42:30
    ********************************** opencv下调用摄像头,可以拉滚动条改相机参数(含代码)
  • opencv打开USB摄像头

    2020-12-04 09:08:22
    #include <thread> Mat gImage; #define FRAME_RATE_V4L2 30 void threadOpencvCapture() { VideoCapture cap; prctl(PR_SET_NAME,"threadOpencvCapture"); cap.open(0); while(1) ....
    #include <thread>
    
    Mat gImage;
    #define FRAME_RATE 30  //默认帧率30
    
    /* 默认分辨率720p */
    #define DEFAULT_WIDTH 1280
    #define DEFAULT_HEIGHT 720
    
    
    /******************************USB摄像头  *******************************/
    void threadUsbCapture()
    {
    	VideoCapture cap;
    
    
    	prctl(PR_SET_NAME,"threadOpencvCapture");
    	cap.open(4);
    
    	/* opencv默认是640*480,这里修改成720p */
    	cap.set(CAP_PROP_FRAME_WIDTH, DEFAULT_WIDTH);
    	cap.set(CAP_PROP_FRAME_HEIGHT, DEFAULT_HEIGHT);
    
    	while(1)
    	{
    		cap >> gImage;
    		usleep(1000 * 1000 / FRAME_RATE);
    	}
    }
    
    
    int main(int argc, char *argv[])
    {
    
    	/* 初始化显示窗口 */
    	const string wintitle = "camera";
    	namedWindow(wintitle);
    
    	thread t(threadUsbCapture);
    	while (1)
    	{
    		/* 获取video0的数据 */
    		if (gImage.empty())
    			continue;
    
    		/* 显示图片 */
    		imshow(wintitle, gImage);
    		/* 等待按键 */
    		if (waitKey(30) >= 0)
    		{
    			break;
    		}
    	}
    }

     

    展开全文
  • OpenCV打开USB摄像头

    2021-03-17 08:01:16
    #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/imgproc.hpp> #include "opencv2/core.hpp" ... //Open USB camera demo. cv::VideoCapture capture(0); cv::Mat

    翻到了当初最开始学OpenCV的程序。后来没想到的是,车上装的不是USB摄像头,而是GMSL摄像头,需要用ROS……无语。

    #include <iostream>
    #include <opencv2/opencv.hpp>
    #include <opencv2/imgproc.hpp>
    #include <opencv2/core.hpp>
    
    using namespace std;
    using namespace cv;
    
    int main()
    {
        //Open USB camera demo.
        cv::VideoCapture capture(0);
        cv::Mat frame;
        while (capture.isOpened()) {
            capture >> frame;
            cv::imshow("capture", frame);
            char key = static_cast<char>(cvWaitKey(10));//控制视频流的帧率,10ms一帧
            if (key == 27)  //按esc退出
                break;
        }
    
        return 0;
    }
    
    
    展开全文
  • 主要为大家详细介绍了OpenCV外接USB摄像头的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Opencv打开电脑自带USB摄像头,并调用模板匹配
  • Ubuntu 下使用opencv打开usb 摄像头

    千次阅读 2018-12-26 11:42:38
    opencv 安装 1.安装 ubuntu下opencv 安装比较简单,直接使用命令 sudo apt-get install libopencv-dev   可以看到很多相关包都会被安装:  2.测试 安装后用简单代码进行测试 /****opencv_test.cpp*...

    一 opencv 安装

    1.安装

    ubuntu下opencv 安装比较简单,直接使用命令

    sudo apt-get install libopencv-dev

     

    可以看到很多相关包都会被安装: 

    2.测试

    安装后用简单代码进行测试

    /****opencv_test.cpp***/
    
    #include <iostream>
    #include <opencv2/opencv.hpp>
    using namespace std;
    using namespace cv;
    
    int main()
    {
        Mat testImage = imread("test.png");
        imshow("testIMage",testImage);
    
        waitKey(0);
    
        return 0;
    }
    

    makefile

    INCLUDE = $(shell pkg-config --cflag opencv)
    
    LIBS = $(shell pkg-config --libs opencv)
    
    BIN = opencv 
    
    OBJECTS = opencv_test.o
    
    SOURCES = opencv_test.cpp
    
    	
    $(BIN):$(OBJECTS)
    	g++ -o $(BIN) $(OBJECTS) -I $(INCLUDE) $(LIBS)
    	
    $(OBJECTS):$(SOURCES)
    	g++ -c $(SOURCES)
    
    clean:
    	rm $(OBJECT) $(BIN)

    二  opencv 打开摄像头

      ubuntu 一般通过v4l2拿取图像,然后把图像交给opencv即可显示处理。 另外opencv 也提供了打开摄像头接口,对v4l2的实现进行了封装,可以满足基本的使用。下面就分别介绍下两种方式

    1. 使用VideoCapture获取图像

       直接上代码    

    #include <iostream>
    #include <opencv2/opencv.hpp>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    
    int main(int argc, char *argv[])
    {
        cv::VideoCapture capture;
        capture.open(0);  //打开摄像头,只要一个摄像头,默认是0; 笔记本上有自带的摄像头,再插入usb摄像头应该是1
        
        if(capture.isOpened())  //打开摄像头
        {
            std::cout<<"video is open";
            
        }
        
        
    
        cv::Mat frame; //定义一个矩阵接受帧
        cv::namedWindow("camera",1);  //定义显示帧
        int i=0;
        for(;;)
        {
            
            capture>>frame; //取出一帧
            if (!frame.empty())
            {
                cv::imshow("camera", frame);   //在窗口显示
                i++;
                std::cout<<i<<"\n";
            }
            else
            {
                
            }
            cv::waitKey(30); 
    
        }
        
        return 0;
    }

     2 . 使用v4l2获取图像

    相对于VideoCapture,v4l2能提供更多控制摄像头的功能。

    v4l2的代码看起来比较繁杂, 其实大部分是出错处理,关键代码就几步

        1. 打开设备

        fd = open(dev_name, O_RDWR /* required */ | O_NONBLOCK, 0);

        2. 初始化mmap

    static void init_mmap(void)
    {
            struct v4l2_requestbuffers req;

            CLEAR(req);

            req.count = 4;
            req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
            req.memory = V4L2_MEMORY_MMAP;

            buffers = (PBUF)calloc(req.count, sizeof(*buffers));

            for (n_buffers = 0; n_buffers < req.count; ++n_buffers) {
                    struct v4l2_buffer buf;

                    CLEAR(buf);

                    buf.type        = V4L2_BUF_TYPE_VIDEO_CAPTURE;
                    buf.memory      = V4L2_MEMORY_MMAP;
                    buf.index       = n_buffers;

                    buffers[n_buffers].length = buf.length;
                    buffers[n_buffers].start =
                            mmap(NULL /* start anywhere */,
                                  buf.length,
                                  PROT_READ | PROT_WRITE /* required */,
                                  MAP_SHARED /* recommended */,
                                  fd, buf.m.offset);
            }
    }

     3. 启动摄像头采集数据

         if (-1 == xioctl(fd, VIDIOC_STREAMON, &type))

    4.  读取一帧

    if (-1 == xioctl(fd, VIDIOC_DQBUF, &buf)) 

    5.  v4l2 数据转mat

        cv::Mat yuvImg;
        cv::Mat rgbImg(ROWS, COLS,CV_8UC3);
        
        yuvImg.create(ROWS , COLS, CV_8UC2);
        memcpy(yuvImg.data, p, COLS*ROWS*2);
        cv::cvtColor(yuvImg, rgbImg, CV_YUV2BGR_YUYV); //p 为v4l2数据

    完整代码:https://download.csdn.net/download/zxf20063033/10877502

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • opencv读取usb摄像头和播放视频
  • Opencv3捕获USB摄像头

    2018-11-18 09:44:34
    Opencv3捕获USB摄像头视频,在VisualStudio 2017 下编译通过
  • 我们如何使用OpenCV打开摄像头并获取从摄像头得到的视频流数据呢?下面,我们会使用VS2019和OpenCV实现该功能。 先上代码:#include#include using namespace cv;int main() { VideoCapture capture(0); //从摄像头...

    6f5065c407452349bdd9f93b113f0375.png

          我们如何使用OpenCV打开摄像头并获取从摄像头得到的视频流数据呢?下面,我们会使用VS2019和OpenCV实现该功能。

          先上代码:

    #include#include using namespace cv;int main() {    VideoCapture capture(0);  //从摄像头读入视频    Mat edges;        while (1)    {        Mat frame;        capture >> frame;        // imshow("当前摄像头读取视频",frame);        // waitKey(30);     //延时30ms        cvtColor(frame, edges, CV_BGR2GRAY);         imshow("当前摄像头读取视频", frame);        waitKey(30);    }    return 0;}

        从代码中,我们可以看到,使用了一个VideoCapture类的变量数组来控制我们电脑的摄像头,其中capture(0)中的 “0”指的就是电脑的摄像头,如果我们想用外接的摄像头怎么办呢?当初我也查了些资料,最后发现只要把 capture(0)中的 “0” 改成 “1” 就可以实现对外接摄像头的控制。使用cvtColor()函数对摄像头的每一帧图像进行灰度化,其实就是把彩色的视频流数据变成黑白的。

        接下来我们看看代码效果如何:

    430268d5aa5e65e5aa8cd846f9892f9e.png

    22bce9f076e2bb960b318bb4a36d89f2.png

    实时使用电脑摄像头获取视频流数据很成功!

    那么我们试试外接USB摄像头看看,这里我们使用的是这个外接摄像头:

    c77672bb8f47e9bdd0678ddceda30a69.png

    我们改一下代码,看看效果:

    0a399fa1022148d82771d75ffed39743.png

    2a344a9187296a4bbd5ec91f6592b2a1.png

    使用外接USB摄像头也没问题!

    关注一下,一起学习吧!学习更多知识,丰富你我!

    2ce8ec2b8ca3d006b660575ccecbdf86.gif

    若有问题或建议请反馈到我们的邮箱:

    http://www.znwkxt@sina.com

    欢迎反馈!

    有你我们将更加努力!

    82b56f4c2745cc7b5fa0c1619ea71669.gif丰富知识点这里 d5638544d0d014651624a6b416a30ca6.png长按二维码识别

    b8893526469ee3dd29d7156c5644dfed.png

    展开全文
  • Windows下Qt使用openCV的demo,在https://blog.csdn.net/u012902367中《Qt 使用openCV》一文中有介绍。
  • python opencv 打开usb摄像头 按s键保存图片 import cv2 index = 1 cap =cv2.VideoCapture(0) # cap.set(3, 2304) # cap.set(4, 1728) flag = cap.isOpened() while (flag): ret, frame = cap.read() cv2....
  • python3 使用 Opencv 打开 USB摄像头,配置1080P分辨率

    万次阅读 热门讨论 2018-09-04 14:16:25
    import cv2 import time cap = cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080) cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc('M', 'J', 'P', ....
  • Jetson nano读取USB摄像头比较简单,只需要两步:打开摄像头;逐帧提取。但是需要注意的是Jetson Nano并不是支持所有的USB摄像头,建议在采购的时候尽量选择Linux免驱的USB摄像头
  • Nanopi M4 基于Opencv 打开USB摄像头

    千次阅读 2019-06-16 15:18:11
    一. 环境选择 首次使用Nanopi M4 ARM板, 最初加载的是官方给的rk3399-sd-friendlydesktop-bionic-4.4-arm64-20190523.img...2. 官方教程安装的是Opencv4.1,我使用不习惯,我自己安装opencv 时,由于下载源的原因,...
  • C++ 打开摄像头Opencv),实时显示视频,可以进行初步的摄像头开发学习(capDlgVideoFormat(hWndCapChild);)
  • OpenCV 调用 USB 摄像头

    2020-11-30 15:35:08
    opencv2\opencv.hpp> using namespace cv; using namespace std; int main() { VideoCapture cap(0); Mat frame; cap >> frame; while (true) { imshow("读取视频", frame); cap >> frame;...
  • 之前在AndroidStudio上就用了别人用写的库成功地打开USB摄像头。 于是我之后又在PC上尝试了一下,首先去淘宝买了个MICRO母转USB公的转接口,然后在Qt上配置了一下OPENCV后开始尝试。 然后就坑到了,遂写此文。...
  • 本资源只包含两个重要文件,活动文件与界面文件,包含使用opencv打开摄像头部分,而且解决使用opencv打开摄像头会旋转90度的问题,解决办法仅供参考。
  • 用Python-OpenCV 打开USB摄像头时, 出现如下提示, 意思是 媒体类型不匹配 测试源代码 cap = cv2.VideoCapture(0) while cap.isOpened(): start = time.time() is_opened, frame = cap.read() end = time.time()...
  • 一番查找,关于用opencv 设置摄像头读分辨率问题的若干说明,果然是capture的默认设置问题,默认将图像尺寸设置为640x480大小,或者说,USB摄像头就不支持capture类的get方法,搞一个默认值糊弄你。 解决办法: 人为...
  • opencv3 打开usb摄像头

    千次阅读 2018-07-06 09:46:18
    opencv3获取摄像头的视频流:#include &lt;iostream&gt; #include &lt;opencv2/opencv.hpp&gt; #include &lt;string&gt; using namespace cv; using namespace std; int main() { ...
  • 二者区别 若调用usb摄像头,则应包含的代码为VideoCapture capture(1);...使用Opencv调用USB摄像头的VS2013代码 #include <opencv2\opencv.hpp> using namespace cv; int main( ) { //【1...
  • Python+Opencv 调用USB摄像头(一)

    万次阅读 多人点赞 2019-04-07 21:51:00
    #调用usb摄像头 cap = cv2.VideoCapture(camera_id) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080) cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc("M","J","P","G"))...
  • 树莓派python3+opencv调用usb摄像头显示并保存直接上代码运行指令运行结果 直接上代码 camera.py import cv2 import numpy as np name = 0 cap = cv2.VideoCapture(0) cap.set(3,640) cap.set(4,480) ret, frame...
  • 讲android和opencv合拼一个项目,编译后的项目无需下载opencv

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,677
精华内容 1,070
关键字:

opencv打开usb摄像头