精华内容
下载资源
问答
  • opencv打开摄像头

    2020-12-15 13:43:44
    opencv打开摄像头,并支持0度90度180度270度旋转。用的是VS2017版本,用的MFC按扭
  • OpenCV打开摄像头

    2020-01-21 12:06:09
    OpenCV打开摄像头 话不多说,看代码,用的是C#+Opencv免费库 using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data...

    OpenCV打开摄像头

    话不多说,看代码,用的是C#+Opencv免费库

    using OpenCvSharp;
    using OpenCvSharp.Extensions;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace Face_Recognition
    {
    public partial class Form1 : Form
    {
    public VideoCapture m_vCapture;
    public bool bPlayflag;
    public bool bTakePicture;
    public Thread ThreadCamera;

        public IntPtr FTtrackingEngine = IntPtr.Zero;
        public int WORKBUF_SIZE = 40 * 1024 * 1024;
        public IntPtr pWorkMem_FT;
    
        private static string APPID = "CuCHJK3hb7b13GuHGprd7B7ZVEcvgd132mbPXWpbEPoA";
        private static string SDKKEY="AU6a2j3aaoaqxhSFX53gszXLjZFJR4neE6UY1opVtkBq";
    
        public Form1()
        {
            InitializeComponent();
    
            pictureBox1.Image = pictureBox1.InitialImage;
            pictureBox2.Image = pictureBox2.InitialImage;
    
            pWorkMem_FT = Marshal.AllocHGlobal(WORKBUF_SIZE);
            //int retCode=ArcsoftFace
    
    
        }
    
        private void btOpenCamera_Click(object sender, EventArgs e)
        {
            if (!bPlayflag)
            {
                m_vCapture = new VideoCapture(CaptureDevice.Any);
                if (!m_vCapture.IsOpened())
                {
                    MessageBox.Show("摄像头打不开", "摄像头故障", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                m_vCapture.Set(CaptureProperty.FrameWidth, 640);
                m_vCapture.Set(CaptureProperty.FrameHeight, 480);
    
                bPlayflag = true;
                ThreadCamera = new Thread(Play_Camera);
                ThreadCamera.Start();
    
                pictureBox1.Image = null;
                btOpenCamera.Text = "关闭摄像头";
            }
            else
            {
                bPlayflag = false;
                ThreadCamera.Abort();
                m_vCapture.Release();
                pictureBox1.Image = pictureBox1.InitialImage;
                btOpenCamera.Text = "打开摄像头";
            }
        }
    
        private void Play_Camera()
        {
            while (bPlayflag)
            {
                Mat cFrame = new Mat();
                m_vCapture.Read(cFrame);
                int sleepTime = (int)Math.Round(1000 / m_vCapture.Fps);
                Cv2.WaitKey(sleepTime);
    
                if (cFrame.Empty())
                {
                    continue;
                }
                Cv2.Flip(cFrame, cFrame, OpenCvSharp.FlipMode.Y);
                Rect cMaxrect = new Rect(100, 90, 300, 300);
                if (bTakePicture)
                {
                    string time = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
                    Mat cHead = new Mat(cFrame, cMaxrect);
                    Cv2.ImWrite("C:\\Users\\xujn2\\Documents\\XuJun\\Temp\\" + time + ".jpg", cHead);
                    pictureBox2.Image = BitmapConverter.ToBitmap(cHead);
    
                    cHead.Release();
                    bTakePicture = false;
                }
    
                //绘制指定区域(人脸框)
                Scalar color = new Scalar(0, 100, 0);
                Cv2.Rectangle(cFrame, cMaxrect, color, 2);
    
                pictureBox1.Image = BitmapConverter.ToBitmap(cFrame);
    
                cFrame.Release();//释放   
            }
        }
    
        private void btTakePicture_Click(object sender, EventArgs e)
        {
            bTakePicture = true;
        }
    }
    

    }

    展开全文
  • opencv 打开摄像头

    2019-01-02 23:16:09
    使用opencv 打开笔记本自带的摄像头 """ import cv2 as cv cap = cv.VideoCapture(0) # 创建视频流 if not cap.isOpened: # 判断视屏是否打开 print('--(!)Error opening video capture...
    """
    使用opencv 打开笔记本自带的摄像头
    """
    import cv2 as cv
    cap = cv.VideoCapture(0)  # 创建视屏流
    if not cap.isOpened: # 判断视屏是否打开
        print('--(!)Error opening video capture')
        exit(0)
    while True: 
        ret, frame = cap.read() # 读取摄像头获取的数据,ret:获取是否读取到画面
        cv.imshow('frame', frame) # 显示视屏的每一帧:相当于一张图片
        if frame is None: # 如果读取的画面为None,退出循环
            print('--(!) No captured frame -- Break!')
            break
        cv.waitKey(10)
    

    (1)获取摄像头对象:cv2.VideoCapture()

    返回 <VideoCapture 00000000038A58D0> 对象地址,需要使用变量接受,这里使用cap 接受

    可以指定参数:

    ① int类型参数

    0:代表第一个摄像头

    1:代表第二个摄像头(如果有的话)

    。。。。

    展开全文
  • 补注我个人的测试环境为:Python 3.8OpenCV 4.4测试过程中,遇到错误,受益于...错误问题描述:使用VideoCapture打开摄像头时,摄像头总是闪一下就关闭,查看错误信息发现有一行警告([ WARN:0] Failed to set media...

    补注

    我个人的测试环境为:

    Python 3.8

    OpenCV 4.4

    测试过程中,遇到错误,受益于下面引文,原文如下:

    最近做一个项目要用到opencv调用摄像头,遇到一个问题让折腾我一晚上才搞定,为避免有人遇到和我同样的问题,在此做个记录。

    错误

    问题描述:使用VideoCapture打开摄像头时,摄像头总是闪一下就关闭,查看错误信息发现有一行警告([ WARN:0] Failed to set mediaType (stream 0, (640x480 @ 30) MFVideoFormat_RGB24(unsupported media type)),大意上是告诉我媒体类型不匹配,设置分辨率失败!

    网上搜了很多关于此类型的问题,都没能解决我的问题。

    最后突然想到去github bug反馈那边搜了一下,还真让我搜到一丝线索,说是调用VideoCapture打开媒体文件时如果第二个参数传入cv::CAP_MSMF(capture.open(0, cv::CAP_MSMF))就有可能出现这种问题。这是该Bug链接VideoCapture fails to get frame if I use msmf and mp4 has audio stream,有兴趣可以了解下。

    回头上面我遇到的错误信息,不正是MSMF类型的吗?原来VideoCapture打开摄像头默认媒体类型是CAP_MSMF,于是二话不说,直接显示传入参数capture.open(0, cv::CAP_DSHOW),搞定!

    感谢本文作者分享!

    展开全文
  • 在VS2013中,利用MFC多线程结合OpenCV打开摄像头,并截图
  • 使用opencv打开摄像头

    2015-04-21 16:26:55
    利用opencv打开摄像头。里面使用了个灰度转换,转成灰度图了,便于近一步的人脸识别开发。
  • OPENCV打开摄像头

    2014-04-06 17:07:34
    用基于VS2010的OPENCV打开摄像头,完整文件
  • Android上使用OpenCV打开摄像头源码,不需要安装OpenCV Manager
  • MFC+ VS2013+ OPENCV 打开摄像头 关闭摄像头的简单程序 亲测可用
  • OpenCV打开摄像头闪退问题 最近在使用opencv调用摄像头的时候出现了摄像头灯亮了一下然后就关闭的情况,程序也随之退出,试用了网上许多的方法,尝试了安装Xvid、或者在打开摄像头时指定媒体类型capture.open(0, cv:...

    OpenCV打开摄像头闪退问题

    最近在使用opencv调用摄像头的时候出现了摄像头灯亮了一下然后就关闭的情况,程序也随之退出,试用了网上许多的方法,尝试了安装Xvid、或者在打开摄像头时指定媒体类型capture.open(0, cv::CAP_DSHOW)等,全都无效。最终发现在程序运行时windows右下角有一个绿色箭头图标:
    Alt
    经过查阅得知这是vsfilter搞的鬼,在调用摄像头的时候该程序会被启动,拦截住摄像头。
    解决方法:移除C:\Windows\System32\vsfilter.dll文件问题解决。
    Alt

    展开全文
  • 本资源只包含两个重要文件,活动文件与界面文件,包含使用opencv打开摄像头部分,而且解决使用opencv打开摄像头会旋转90度的问题,解决办法仅供参考。
  • 完善的OpenCV打开摄像头显示视频,各种摄像头都能打开!强大!
  • ubuntu16.04 opencv打开摄像头失败 按照opencv检测AruCo标记教程,运行程序时打开摄像头失败,使用的相机是Intel RealSense D435。 发生问题的代码如下。 // 打开相机 cv::VideoCapture inputVideo; inputVideo....
  • python opencv打开摄像头

    2019-10-11 16:12:47
    opencv打开摄像头 import cv2 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() cv2.imshow('frame', frame) # 这一步必须有,否则图像无法显示 if cv2.waitKey(1) & 0xFF == ord('q'): ...
  • 通过OpenCV打开摄像头

    千次阅读 2015-08-01 10:07:50
    OpenCV打开摄像头直接上代码。代码功能就是打开摄像头。其他功能以后再慢慢添加。 此处使用的版本为OpenCV 3.0.0,编译工具为MS VS 2013。#include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/...
  • vs2013下利用opencv打开摄像头,并在控件中显示,资源为部分源程序,但不是整个工程,vs2013的工程太大,不好上传,需要的可以留言,然后发给你!
  • 今天小编就为大家分享一篇python+opencv打开摄像头,保存视频、拍照功能的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 解决opencv打开摄像头慢,启动时间长 最近发现一个神奇的问题。opencv打开摄像头慢,启动时间长,粗略统计起码超过1分钟。 opencv-python==3.4.3 慢 opencv-python==3.4.0.12 快 解决办法 pip install opencv-...
  • 关于opencv打开摄像头黑屏的问题

    千次阅读 2019-01-18 11:49:40
    关于opencv打开摄像头黑屏的问题 本人在VS上使用opencv,用 VideoCapture capture; capture.open(0); ... 的方式打开摄像头,一直是黑屏,且capture.isOpened()也证明确实打开了摄像头。 网上已经有很多相关问题...
  • Win7下在Visual Studio 2008中调用OpenCV打开摄像头的实例。
  • python_opencv打开摄像头

    2020-03-15 09:50:25
    python_opencv打开摄像头 import cv2 as cv def video_demo(): #0是代表摄像头编号,只有一个的话默认为0 capture=cv.VideoCapture(0) while(True): ref,frame=capture.read() cv.imshow("1",frame) #等待30...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,307
精华内容 5,322
关键字:

opencv打开摄像头