单片机怎么调用摄像头_单片机头文件和extern调用 - CSDN
  • AR中会用到设备的摄像头,那么又如何去在Unity3D中去调用摄像头呢?

    AR中会用到设备的摄像头,那么又如何去在Unity3D中去调用摄像头呢?

    原地址:http://blog.csdn.net/wuyt2008/article/details/50684236

    如下代码:

    [csharp] view plain copy
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class WebCamManager : MonoBehaviour {  
    5.   
    6.     // Use this for initialization  
    7.     void Start () {  
    8.   
    9.         WebCamTexture webcamTexture = new WebCamTexture ();  
    10.   
    11.         //如果有后置摄像头,调用后置摄像头  
    12.         for (int i = 0; i < WebCamTexture.devices.Length; i++) {  
    13.             if (!WebCamTexture.devices [i].isFrontFacing) {  
    14.                 webcamTexture.deviceName = WebCamTexture.devices [i].name;  
    15.                 break;  
    16.             }  
    17.         }  
    18.   
    19.         Renderer renderer = GetComponent<Renderer>();  
    20.         renderer.material.mainTexture = webcamTexture;  
    21.         webcamTexture.Play();  
    22.     }  
    23.   
    24. }  
    在场景里面添加一个plane


    调整plane的位置,并把脚本拖上去,运行就可以了。



    如果是要在GUITexture上显示,则代码如下:

    [csharp] view plain copy
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class WebCamManager : MonoBehaviour {  
    5.   
    6.     // Use this for initialization  
    7.     void Start () {  
    8.   
    9.         WebCamTexture webcamTexture = new WebCamTexture ();  
    10.   
    11.         //如果有后置摄像头,调用后置摄像头  
    12.         for (int i = 0; i < WebCamTexture.devices.Length; i++) {  
    13.             if (!WebCamTexture.devices [i].isFrontFacing) {  
    14.                 webcamTexture.deviceName = WebCamTexture.devices [i].name;  
    15.                 break;  
    16.             }  
    17.         }  
    18.   
    19.         GUITexture guiTexture = GetComponent<GUITexture> ();  
    20.         guiTexture.texture = webcamTexture;  
    21.         webcamTexture.Play ();  
    22.     }  
    23. }  


    如果在本机调试的时候出现以下错误提示

    [plain] view plain copy
    1. Cannot use web cam, since the user has not authorized this!  

    这是没有使用摄像头的权限,build一次安卓应用再试就好了,或者使用以下代码,先判断权限

    [csharp] view plain copy
    1. using UnityEngine;  
    2. using System.Collections;  
    3.   
    4. public class WebcamManager : MonoBehaviour {  
    5.   
    6.     // Use this for initialization  
    7.     void Start () {  
    8.         StartCoroutine ("CallWebCam");  
    9.     }  
    10.   
    11.     IEnumerator CallWebCam(){  
    12.         yield return Application.RequestUserAuthorization (UserAuthorization.WebCam);  
    13.   
    14.         if (Application.HasUserAuthorization (UserAuthorization.WebCam)) {  
    15.             WebCamTexture webcamTexture = new WebCamTexture ();    
    16.   
    17.             //如果有后置摄像头,调用后置摄像头    
    18.             for (int i = 0; i < WebCamTexture.devices.Length; i++) {    
    19.                 if (!WebCamTexture.devices [i].isFrontFacing) {    
    20.                     webcamTexture.deviceName = WebCamTexture.devices [i].name;    
    21.                     break;    
    22.                 }    
    23.             }    
    24.   
    25.             GUITexture guiTexture = GetComponent<GUITexture> ();    
    26.             guiTexture.texture = webcamTexture;    
    27.             webcamTexture.Play ();    
    28.         } else {  
    29.             Debug.Log ("has not authorization");  
    30.         }  
    31.     }  
    32. }  
    展开全文
  • matlab-调用摄像头人脸识别 ----------------------------边学边写边学习------------------------------------- 版本:2014a 调用摄像头 a = imaqhwinfo 如果出现下面的警告说明你没安装扩展...

    ----------------------------边学边写边学习-------------------------------------

    版本:2014a

     

    调用摄像头

    a = imaqhwinfo

    如果出现下面的警告说明你没安装扩展工具。
    警告: No Image Acquisition adaptors found. Image acquisition adaptors may be available as downloadable support packages. Open Support Package Installer to install additional vendors.

    这时候Support Package Installer在MATLAB里面有下划线,然后你点开它,MATLAB会提供大概13个软件包,这时候选择OS Generic Video Interface下载安装就OK了 (要求注册账号,随便用个邮箱注册下就可以了,不需要付费)。

    (matlab查看摄像头详细信息 请看 https://blog.csdn.net/hmg25/article/details/4126122 

     

    下面就是调用笔记本电脑摄像头并打开图像

    (%如果使用USB摄像头,一般为2,笔记本自带摄像头为1)

    vidDevice = imaq.VideoDevice('winvideo', 1, 'YUY2_640x480', ...
        'ROI', [1 1 640 480], ...
        'ReturnedColorSpace', 'rgb' );
    preview(vidDevice);

     

    人脸检测我们用的是matlab的机器视觉工具箱(瞬间觉得matlab真心强大)

    VJ算法的目的是检测人脸,但是其思想同样可以用于检测其他物体,只需进行训练即可。
    VJ算法在Matlab里面实现的时候,已经训练好了正脸、侧脸、上半身、眼睛、嘴、鼻子,这些都是可以直接检测,不需训练,直接调用CascadeObjectDetector函数即可。

    下面是检测人脸和上半身的例子

        % Example 1:  Face detection
          % ----------------------------        
          faceDetector = vision.CascadeObjectDetector; % Default: finds faces 
    
          I = imread('visionteam.jpg');
          bboxes = step(faceDetector, I); % Detect faces
    
          % Annotate detected faces
          IFaces = insertObjectAnnotation(I, 'rectangle', bboxes, 'Face');   
          figure, imshow(IFaces), title('Detected faces'); 
    
          % Example 2: Upper body detection
          % --------------------------------------       
          bodyDetector = vision.CascadeObjectDetector('UpperBody');    
          bodyDetector.MinSize = [60 60];
          bodyDetector.MergeThreshold = 10;
    
          I2 = imread('visionteam.jpg');
          bboxBody = step(bodyDetector, I2); % Detect upper bodies
    
          % Annotate detected upper bodies   
          IBody = insertObjectAnnotation(I2, 'rectangle', ...
                                         bboxBody, 'Upper Body');
          figure, imshow(IBody), title('Detected upper bodies');
    

      

    至于调用摄像头进行人脸识别,肯定是 调用摄像头的过程中对每一帧图像分别进行识别,然后再在图像中框出来。

    这就要求 速度 要足够快。所以检测的时候就要压缩你图像的像素了。

    下面放代码

    faceDetector = vision.CascadeObjectDetector(); %enable viola jones algorithm
    bbox = [100 100 100 100];
    vidDevice = imaq.VideoDevice('winvideo', 1, 'YUY2_640x480', ...
        'ROI', [1 1 640 480], ...
        'ReturnedColorSpace', 'rgb' );
    %set(vidDevice.DeviceProperties, 'FrameRate', '30');
    boxInserter = vision.ShapeInserter('BorderColor','Custom',...
        'CustomBorderColor',[255 255 0]);
    textInserter = vision.TextInserter('%d','LocationSource','Input port','Color',[255,255, 0],'FontSize',12);
    nFrame =300;
    vidInfo = imaqhwinfo(vidDevice);
    vidHeight = vidInfo.MaxHeight;
    vidWidth = vidInfo.MaxWidth;
    videoPlayer = vision.VideoPlayer('Position',[300 100 640+30 480+30]);
    
    for k = 1:nFrame % start recording with 300 frames
        %tic; % timer start
        videoFrame = step(vidDevice); % enable the image capture by webcam
        bbox = 4 * faceDetector.step(imresize(videoFrame, 1/4)); % boost video's fps
        videoOut = step(boxInserter, videoFrame, bbox); % highlight the boxes of face at video
        %release(boxInserter);
        step(videoPlayer, videoOut); % display the video live in video player
    end
    

      一共执行了300帧,下面放图。

     

    posted on 2018-12-28 21:51 hyb965149985 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/hyb965149985/p/10193075.html

    展开全文
  • 调用摄像头来识别人脸的程序,采用开源的框架,使用起来比较方便
  • Python2和python3上装opencv 注意opencv只要把python2指向(换成)python就可以了

     

    Python2和python3上装opencv    

    注意opencv只要把python2指向(换成)python就可以了

    展开全文
  • // opencv_test.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "opencv/cv.h" ...#include "opencv/highgui.h" ...#pragma comment(lib,"opencv_core246d.lib") ...#pragma comment(lib,"openc
    // opencv_test.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include "opencv/cv.h"
    #include "opencv/highgui.h"
    #include <stdio.h>
    #pragma comment(lib,"opencv_core246d.lib")  
    #pragma comment(lib,"opencv_highgui246d.lib")  
    #pragma comment(lib,"opencv_imgproc246d.lib")
    int test()
    {
        int i;
        IplImage* img=NULL;
        CvCapture* capture=cvCaptureFromCAM(0);
        cvWaitKey(1);
        printf("after capturing\n");
        cvNamedWindow("result",1);
        for(i=0;i<10000;++i)
        {
            printf("frame %d\n",i);
            img=cvRetrieveFrame(capture);
            cvShowImage("result",img);
            cvWaitKey(1);
        }
        printf("done\n");
        cvWaitKey(3000);
        cvReleaseCapture(&capture);
        return 0;
    }


    int _tmain(int argc, _TCHAR* argv[])
    {
        test();
        return 0;
    }

    展开全文
  • STM32单片机实现连接USB摄像头 如题,本人已经实现STM32连接基于Cypress CY7C68013A的摄像头电路板的方案,具体实现原理如下: 摄像头侧CY7C68013A硬件电路板连接被测试应用的摄像头sensor模块,电路板为摄像头提供...
  • Unity调用外部摄像头

    2019-01-28 10:52:21
    https://blog.csdn.net/lei_7103/article/details/80104557
  • 在一台电脑上,调用摄像头录像,同时通过TCP实时传输到另一台电脑上进行播放,如何实现??、求大神给思路。
  • 基于WebCamTexture
  • 我终于回来啦,快一个月没有正式写博客了 最近忙着把老师交给我的项目完成,又从老师经费里白嫖了好多好玩的硬件,网课都没咋听,今天介绍完这个小点,马上就要准备看模电了 其实我做项目时完全从0开始,所接触的...
  • 通过详细讲解一个PHP+FLASH调用摄像头拍照并保存在服务器的实例,让学员掌握网页调用摄像头拍照的知识,并可应用到自己的程序中。 我们提供大量PHP实用实例源码解读教程并提供下载,让PHP小伙伴迅速提升PHP技能,并...
  • 本文涉及软硬件平台: 开发板:飞凌OK6410 系统:Ubuntu 12.04+飞凌官方3.0.1 嵌入式Linux还处在入门阶段,主要方向是嵌入式下的图像处理,最近一直在学习Open
  • 目前生产串口摄像头的厂家有很多,每家的通信协议也不同,所以针对不同的摄像头都必须编写相对应的摄像头驱动程序。最早做医疗项目的时候,开发过一款串口摄像头的驱动,不过是配合TinyIOs而使用,并没有把其作为一...
  • 网上的资料很多都是Webcam.getDefault(),但是调用此方法时只能调用系统默认摄像头,在我的笔记本上只能调用我笔记本上的摄像头,而我希望调用我的usb摄像头,在网上找了很久没有找到方法。 其实非常简单 打开设备...
  • 利用TextrueView展现照相机预览界面,并通过USB 驱动调用外接UVCCamera自动对焦完成隐蔽拍照,存储到SD卡中
  • STM32F103USB摄像头驱动

    2019-04-21 18:47:47
    代码是从原子的触控鼠标实验改过来的,煎蛋实现了一个USB摄像头,可以将一帧320*240的JPG图片发送到HOST,所以并不包含摄像头驱动代码. 代码很简单,作为学习UVC或者参考也是不错的. PC上看到的图像 MDK项目文件: ...
  • 网上找到了一款人体识别的代码。...USB摄像头 一卡一卡的。不过只是用于人员闯入,并提示。打算将这个程序打包成函数,直接用了。   /// this is a copy from http://www.magicandlove.com/b...
  • PC端程序:在port.txt里面写好串口号,然后运行Release里面的程序接收图像,该程序是用Visual Studio 2012编译的单片机端程序:dcmi_ov2640.h和dcmi_ov2640.c是从STM32F4官方标准库里面的OV2640 DCMI例程里面找到的...
  • C#做的连接USB外接摄像头回车自动拍照(也可以连接扫码枪)输出图像名称与输入信息一致+时间
  • 树莓派车牌识别

    2020-07-29 14:20:08
    摄像头设置是树莓派对摄像头进行初始化,方便后面直接调用摄像头进行拍照;车辆高度判断,利用激光对射模块,若超过限定高度则返回的电平发生了变化;车牌识别部分是核心部分,对含有车牌信息的图像进行处理,最后...
1 2 3 4 5 ... 20
收藏数 631
精华内容 252
关键字:

单片机怎么调用摄像头