精华内容
下载资源
问答
  • 2021-11-10 14:56:26

    1,新建一个test.cpp文件,插入下列代码,保存

    #include<opencv2/opencv.hpp>
    #include<iostream>
     
    using namespace std;
    using namespace cv;
     
    int main(int argc,char **argv)
    {
        VideoCapture capture(0);
        namedWindow("myCamera",CV_WINDOW_AUTOSIZE);
        while(true)
        {    
            Mat frame;
            capture>>frame;
            imshow("myCamera",frame);
            waitKey(30);
        }
        return 0;
    }

    2,生成可执行程序test

    g++ `pkg-config opencv --cflags` test.cpp -o test `pkg-config opencv --libs`

    3,运行test,即可调用摄像头

    ./test

    更多相关内容
  • 通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。 这主要是通过opencv中cv2模块来实现这个功能。其中是调用cv2中的函数,比如:imread()函数,imshow()函数等等…. 以下是具体的...
  • pro文件改写: QT += core gui ...INCLUDEPATH += C:\opencv40\opencv\build\include LIBS += C:\opencv40\opencv\build_qt\bin\libopencv_*.dll (其中,build_qt是我cmake编译时起的名字,配置好的文件也...
    1. pro文件改写:
    QT       += core gui multimedia multimediawidgets
    INCLUDEPATH += C:\opencv40\opencv\build\include
    LIBS += C:\opencv40\opencv\build_qt\bin\libopencv_*.dll
    

    (其中,build_qt是我cmake编译时起的名字,配置好的文件也都在这个文件夹下。
    配置过程详见以下链接:
    https://blog.csdn.net/huyiping12345/article/details/103157822)
    2. h文件:
    引入头文件:

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

    public:

    public:
        QImage MatImageToQt(const Mat &src); //Mat转QLabel
    

    槽函数:

    private slots:
        void readFarme();
        void jiankongProcess(int);
    

    私有变量:

    private:
        VideoCapture cap;
        Mat src_image;
        QTimer *timer;
    
    1. cpp文件:
      头文件:
    #include <QComboBox>
    #include <QImage>
    #include <QMessageBox>
    

    主函数:

    	timer = new QTimer(this);
        connect(timer, &QTimer::timeout, this, &Widget::readFarme);
        connect(ui->comboBox_9, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &Widget::jiankongProcess);
    

    readFarme函数:

    void Widget::readFarme()
    {
        cap.read(src_image);
        QImage imag = MatImageToQt(src_image);
        ui->labelImageYuanshi1->setPixmap(QPixmap::fromImage(imag));
    }
    

    jiankongProcess函数:

    void Widget::jiankongProcess(int index){
        index = ui->comboBox_9->currentIndex();
        switch (index) {
        case -1:  //默认状态
            break;
        case 0:  //菜单
        {
            QMessageBox::about(this,"实时监控","请选择您要进行的相机处理!");
            break;
        }
        case 1:  //打开相机
        {
            cap.open(0);
            timer->start(33);
            break;
        }
        case 2:  //暂停相机
        {
            if(timer->isActive() == false)
            {
                QMessageBox::about(this,"暂停相机","请先打开相机!");
                break;
            }
            else
            {
                timer->stop();
                cap.release();
                break;
            }
        }
        case 3:  //唤起相机
        {
            if(timer->isActive() == true)
            {
                QMessageBox::about(this,"唤起相机","相机正在运行!");
                break;
            }
            else
            {
                cap.open(0);
                timer->start(33);
                break;
            }
        }
        case 4:  //关闭相机
        {
            timer->stop();
            cap.release();
            ui->labelImageYuanshi1->clear();
            break;
        }
        default:
            break;
        }
    }
    

    MatImageToQt函数:

    //Mat转成QImage
    QImage Widget::MatImageToQt(const Mat &src)
    {
        //CV_8UC1 8位无符号的单通道---灰度图片
        if(src.type() == CV_8UC1)
        {
            //使用给定的大小和格式构造图像
            //QImage(int width, int height, Format format)
            QImage qImage(src.cols,src.rows,QImage::Format_Indexed8);
            //扩展颜色表的颜色数目
            qImage.setColorCount(256);
            //在给定的索引设置颜色
            for(int i = 0; i < 256; i ++)
            {
                //得到一个黑白图
                qImage.setColor(i,qRgb(i,i,i));
            }
            //复制输入图像,data数据段的首地址
            uchar *pSrc = src.data;
            for(int row = 0; row < src.rows; row ++)
            {
                //遍历像素指针
                uchar *pDest = qImage.scanLine(row);
                //从源src所指的内存地址的起始位置开始拷贝n个
                //字节到目标dest所指的内存地址的起始位置中
                memcmp(pDest,pSrc,src.cols);
                //图像层像素地址
                pSrc += src.step;
            }
            return qImage;
        }
        //为3通道的彩色图片
        else if(src.type() == CV_8UC3)
        {
            //得到图像的的首地址
            const uchar *pSrc = (const uchar*)src.data;
            //以src构造图片
            QImage qImage(pSrc,src.cols,src.rows,src.step,QImage::Format_RGB888);
            //在不改变实际图像数据的条件下,交换红蓝通道
            return qImage.rgbSwapped();
        }
        //四通道图片,带Alpha通道的RGB彩色图像
        else if(src.type() == CV_8UC4)
        {
            const uchar *pSrc = (const uchar*)src.data;
            QImage qImage(pSrc, src.cols, src.rows, src.step, QImage::Format_ARGB32);
            //返回图像的子区域作为一个新图像
            return qImage.copy();
        }
        else
        {
            return QImage();
        }
    }
    
    展开全文
  • 利用opencv调用笔记本摄像头--python

    万次阅读 多人点赞 2018-06-25 23:06:52
    通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。这主要是通过opencv中cv2模块来实现这个功能。其中是调用cv2中的函数,比如:imread函数,imshow函数等等....以下是具体的实现代码:1....

    通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。

    这主要是通过opencv中cv2模块来实现这个功能。其中是调用cv2中的函数,比如:imread()函数,imshow()函数等等....

    以下是具体的实现代码:

    1.通过窗口展示图片:

    import cv2
    
    """
    :param
        无
    :return
        无
    """""
    
    # 读取图片
    img = cv2.imread("index.jpeg", 0)
    
    img2=cv2.imread("feifei.jpeg",0)
    # 显示图片,第一个参数是窗口名称,第二个参数是图片名字
    cv2.imshow("image", img)
    #设置图片窗口延迟,参数为0,键盘无限期的等待键入。
    cv2.waitKey(0)
    #删除所有新建的窗口
    # cv2.destroyAllWinfdows()
    #删除指定的窗口
    cv2.destroyWindow("image")
    

    图片展示如下:


    2.自定义图片展示窗口,可以调整窗口的大小,针对图片比较大的,可以适当调整。

    #自定义图片打开窗口,大小可以调节
    # 先自定义一个窗口,参数一是窗口名称,参数2是可以调整窗口大小
    cv2.namedWindow("image", cv2.WINDOW_NORMAL)
    # 显示图片
    cv2.imshow("image", img)
    # 设置图片窗口延迟
    cv2.waitKey(0)
    # 设置关闭所有的图片窗口
    cv2.destroyAllWindows()

    3.保存图片的功能

    """
    :param
        无
    :return
        无
    功能:通过s键,保存图片
    """""
    # 读取图片
    img = cv2.imread("index.jpeg", 0)
    # 通过窗口显示图片
    cv2.imshow("image", img)
    # 设置图片窗口显示延迟
    k = cv2.waitKey(0)
    if k == 27:
        # 27是代表esc键
        cv2.destroyAllWindows()
    elif k == ord("s"):
        # 保存图片,新命名index2.jpg
        cv2.imwrite("index2.jpg", img)
        cv2.destroyAllWindows()


    接下来是通过cv2中的VideoCapture()调用电脑的摄像功能。

    具体实现代码如下:

    """
    :param
        无
    :return
        无
    功能:调用笔记本摄像头获取视频图片
    """""
    import numpy as np
    import cv2
    #调用笔记本内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2
    cap=cv2.VideoCapture(0)
    while True:
        #从摄像头读取图片
        sucess,img=cap.read()
        #转为灰度图片
        gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        #显示摄像头,背景是灰度。
        cv2.imshow("img",gray)
        #保持画面的持续。
        k=cv2.waitKey(1)
        if k == 27:
            #通过esc键退出摄像
            cv2.destroyAllWindows()
            break
        elif k==ord("s"):
            #通过s键保存图片,并退出。
            cv2.imwrite("image2.jpg",img)
            cv2.destroyAllWindows()
            break
    #关闭摄像头
    cap.release()

    摄像头展示如下:



    我们知道matplotlib是一个跟强大的绘图软件,当然在这里也可以用matplotlib将图片展示在坐标中。

    """
    :param
        无
    :return
        无
    功能:使用matplotlib显示图片
    """""
    import numpy as np
    import cv2
    from matplotlib import pyplot as plt
    #读取图片
    img=cv2.imread("feifei.jpeg",0)
    #利用matplotlib显示图片
    plt.imshow(img,cmap="gray",interpolation="bicubic")
    #设置x,y坐标轴
    plt.xticks([]),plt.yticks([])
    #将图片在坐标中展示
    plt.show()
    以上的内容整理自《opencv官方教程中文版》。
    展开全文
  • opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; int main(int argc,char **argv) { VideoCapture capture(0); namedWindow("myCamera",CV_WINDOW_AUTOSIZE); ...

    1,新建一个test.cpp文件,插入下列代码,保存

    #include<opencv2/opencv.hpp>
    #include<iostream>
     
    using namespace std;
    using namespace cv;
     
    int main(int argc,char **argv)
    {
        VideoCapture capture(0);
        namedWindow("myCamera",CV_WINDOW_AUTOSIZE);
        while(true)
        {    
            Mat frame;
            capture>>frame;
            imshow("myCamera",frame);
            waitKey(30);
        }
        return 0;
    }

    2,生成可执行程序test

    g++ `pkg-config opencv --cflags` test.cpp -o test `pkg-config opencv --libs`
    

    3,运行test,即可调用摄像头

    ./test

    注意:可使用Ctrl + c 终止当前正在运行的程序

    展开全文
  • 1.使用opencv打开摄像头import cv2 as cvdef video_demo():#0是代表摄像头编号,只有一个的话默认为0capture=cv.VideoCapture(0)if not cap.isOpened():print("Cannot open camera")exit()while(True):ref,frame=...
  • dir_hint}) 编译过程: > cd test > g++ test.cpp -o test `pkg-config --cflags --libs opencv` > ./test 总结 以上所述是小编给大家介绍的linux下利用opencv打开笔记本摄像头问题,希望对大家有所帮助
  • 主要为大家详细介绍了Python OpenCV利用笔记本摄像头实现人脸检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 使用OpenCV通过笔记本摄像头拍照

    千次阅读 2021-11-19 16:21:43
    cap = cv2.VideoCapture(0) #设置使用摄像头获取图像 ret,frame = cap.read() cv2.imshow('cap',frame) cv2.waitKey() cv2.destroyAllWindows() 获取视频 import cv2 cap = cv2.VideoCapture(0) while True: ...
  • 首先需要导入opencv库pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple/opencv-python上代码#万码学堂Python人脸识别演示importcv2.cv2ascv2face_model=cv2.CascadeClassifier(r'D:\pythonworks\DAdemo\Lib\...
  • 安装成功后我们就可以使用opencv库打开笔记本摄像头调用完成摄像头后,我们要逐帧显示,这里我们就要用到while函数不断显示摄像头获取的每一帧图像,使用cap.isOpened()判断摄像头开启就不断循环,代码演示如下: ...
  • 想问一下大佬们,用python从Ubuntu虚拟机里打开摄像头和从windows直接打开有什么不一样么,从windows里面直接开摄像头旁边的灯会...但是从虚拟机里面用同样的代码调用摄像头旁边的灯就不会亮是为什么呢</p>
  • 利用opencv调用电脑摄像头,并实时显示。其实就是用cap.open(0)这一个语句就可以调用本机摄像头了。 #include &quot;opencv2/highgui/highgui.hpp&quot; #include &quot;opencv2/imgproc/imgproc....
  • 通过查看书籍,自己总结了一下,怎样用python代码实现调用笔记本摄像头的功能。 这主要是通过opencv中cv2模块来实现这个功能。其中是调用cv2中的函数,比如:imread()函数,imshow()函数等等.... 以下是具体的...
  • OpenCV调用手机摄像头与人脸检测

    千次阅读 2021-10-31 18:51:21
    安装测试二、OpenCV调用摄像头及人脸检测1. 调用电脑摄像头2. 调用手机摄像头及人脸检测2.1 准备工作2.2 代码实现三、总结四、参考文献 一、OpenCV机器视觉环境搭建 1. OpenCV下载 本文是基于Windows上Anaconda的...
  • 调用电脑内置摄像头的原理与上一节的图片读取原理一致,此次是在短时间内读取多个帧(图片),达到视频读取的效果。详细操作如下: 1 先打开电脑内置摄像头,并且给它取个名字。 函数为:cv.VideoCapture(0)。...
  • 转自【opencv七】利用opencv调用电脑摄像头 —— yuanCruise 测试程序 #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; int main() { namedWindow("Example", WINDOW_...
  • -- coding:utf-8 -- from os import mkdir from os.path import isdir import datetime ...调用笔记本摄像头 cap = cv2.VideoCapture(0) 拍摄5张照片 for i in range(5): now = str(datetime.dat...
  • opencv打开笔记本摄像头
  • 使用opencv打开笔记本摄像头

    千次阅读 2017-08-14 11:34:43
    opencv版本是3.10.0 系统是win7x64位 工具是vs2013  刚开始用网上找的代码发现不能正常打开摄像头要么摄像头灯亮了一下程序就自动结束了,要么就是弹出选择视频源的界面然后点击也没有反应,最后发现原来代码...
  • 推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法】 目录 一、调用电脑摄像头 二、读取视频 一、调用电脑摄像头 话不多说,直接看代码! import cv2 cap = cv2.VideoCapture(0) while(True): ret, ...
  • Linux下使用Opencv打开笔记本摄像头

    千次阅读 2017-07-31 19:50:00
    新建test文件夹,文件夹存在test.cpp和CMakeLists.txttest.cpp#include <iostream> #include <string> #include <...opencv2/core.hpp> #include <opencv2/highgui.hpp> ...
  • 本例子很简单,总共就几行代码。使用的VS2017 VideoCapture(0);//开启摄像头 Cv2.WaitKey(100); //等待100ms相当于延时 myCamer.Read(frame);...//调用Cv2.ImShow(“窗口名字”,一个Mat类型的图像)
  • pychrom中用opencv调用笔记本摄像头出现Process finished with exit code -1073741819 (0xC0000005) 简单的调用摄像头程序: import cv2 cap = cv2.VideoCapture(0) while cap.isOpened(): ret,frame = cap.read() ...
  • 今天主要是基于opencv模块来调用笔记本的内置摄像头,然后从视频流中获取到人脸的图像数据用于之后的人脸识别项目,也就是为了构建可用的数据集。整个实现过程并不复杂,具体如下: #!usr/bin/env python #encoding...
  • Python+Opencv 调用USB摄像头(二)

    千次阅读 2019-04-21 12:05:22
    目录 一.... 二.... ...2.3.必须用相机自带SDK(SoftwareDevelopmentKit)软件开发工具...继Python+Opencv 调用USB摄像头(一)结尾代码,发现调用不了,换了一个相机,还是不行. 测试代码: import cv2 cams_test = 10...

空空如也

空空如也

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

opencv调用笔记本摄像头