matlab调用笔记本摄像头拍照并连续保存

%% 图像抓取并存入当前目录image文件夹下

% 建立图片存储文件夹
if exist(‘image‘,‘dir‘)~= 7
    mkdir([cd,‘/image‘]) % 与下一句一样
end
directory=[cd,‘/image/‘]; %当前工作目录下文件夹

%定义一个监控界面
hf = figure(‘Units‘, ‘Normalized‘, ‘Menubar‘, ‘None‘,‘NumberTitle‘, ‘off‘, ‘Name‘, ‘实时拍照系统‘);
ha = axes(‘Parent‘, hf, ‘Units‘, ‘Normalized‘, ‘Position‘, [0.05 0.2 0.85 0.7]);
axis off
%定义三个按钮控件
hb1 = uicontrol(‘Parent‘, hf, ‘Units‘, ‘Normalized‘,‘Position‘, [0.2 0.05 0.15 0.1], ‘String‘, ‘预览‘, ‘Callback‘, [‘imaqhwinfo;‘...
    ‘obj = videoinput(‘‘winvideo‘‘);‘...
    ‘set(obj, ‘‘FramesPerTrigger‘‘, 1);‘...
    ‘set(obj, ‘‘TriggerRepeat‘‘, Inf);‘...
    ‘objRes = get(obj, ‘‘VideoResolution‘‘);‘ ...
    ‘nBands = get(obj, ‘‘NumberOfBands‘‘);‘ ...
    ‘hImage = image(zeros(objRes(2), objRes(1), nBands));‘ ...
    ‘preview(obj, hImage);‘]);
hb2 = uicontrol(‘Parent‘, hf, ‘Units‘, ‘Normalized‘,‘Position‘, [0.45 0.05 0.15 0.1], ‘String‘, ‘拍照‘, ‘Callback‘, ‘image_shot(1,directory,obj);‘);
hb3 = uicontrol(‘Parent‘, hf, ‘Units‘, ‘Normalized‘,‘Position‘, [0.7 0.05 0.15 0.1], ‘String‘, ‘关闭‘, ‘Callback‘, ‘image_shot(0,directory,obj);‘);

回调函数中:image_shot(1,directory,obj)实现

function image_shot(is_shot,directory,obj)
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
persistent i
if isempty(i)
   i = 1;
end
if is_shot
    date_string=datestr(date,29);%读取系统时间
    filename=[date_string,‘-‘,num2str(i)];%生成制定格式图片名:2015-05-12-1.2.3.....(序号)
    frame = getsnapshot(obj);%抓图
    imwrite(frame,[directory,filename,‘.jpg‘]);%存图‘
    i=i+1;
else
    clear i;%清除局部变量
    delete(obj);%关闭摄像头
end

end
时间: 2024-10-11 06:45:58

matlab调用笔记本摄像头拍照并连续保存的相关文章

C# 使用AForge调用笔记本摄像头拍照

vs2012  winform 连接摄像头设备,这里需要引入 代码: using AForge; using AForge.Controls; using AForge.Imaging; using AForge.Video; using AForge.Video.DirectShow; 在工具箱中还需要添加AForge.Control,然后找到VideoSourcePlayer这个控件添加到界面上 直接找到dll拖拽到工具箱就可以了(工具箱先建一个选项) 将在camera里面出现很多控件,找到

利用html5调用本地摄像头拍照上传图片[转]

利用html5调用本地摄像头拍照上传图片 html5概念啥的就不废话了,不知道的 百度, 谷歌一堆..今天学了学html5中的Canvas结合新增的<video>标签来获取本地摄像头,在html5之前,要在浏览器获取本地摄像头只有通过插件(ActiveX,但是这种只有IE支持)或者是flash来获取(或许你没学过flash那就很坑爹了),在之后微软的silvertlight中也可以获取,但这些都比较麻烦,在html5的世界里,要获取本地摄像头,只要配合js就可以轻松获取.. 目前支持html5

调用本地摄像头拍照(H5和画布)

关于H5 和 画布 调用本地摄像头拍照功能的实现 1.代码的实现(html部分) <input type="button" title="开启摄像头" value="开启摄像头" onclick="getMedia();" /><br /> <video height="120px" autoplay="autoplay"></video>

Android调用系统摄像头拍照并剪裁压缩

由于业务需要写了一个Android手机拍照的功能Demo,同时实现了图片剪裁和图片压缩.以下是源码 package com.klp.demo_025; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import android.app.Activity; import android.c

opencv3.3+vs2015调用笔记本摄像头成功

先上代码 成功图片如下: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/core/core.hpp> using namespace cv; int main() { VideoCapture cap(0); if (!cap.isOpened()) { return -1; } Mat frame; Mat edges; b

android调用摄像头拍照

调用手机摄像头拍照,获取拍照后的图片数据.以下代码是在activity中:     // 调用摄像头         Button b = (Button) findViewById(R.id.btn1);     b.setOnClickListener(new View.OnClickListener() {         @Override         public void onClick(View v) {             // Here we fire the inte

Ionic系列——调用摄像头拍照和选择图库照片功能的实现

1.需求描述 最近要做一个功能就是调用摄像头拍照,然后上传照片的功能,或者直接打开图库选择照片然后上传. 2.准备 ①.添加插件$cordovaCamera cordova plugin add cordova-plugin-camera ②.在controller中添加依赖 3.代码实现 $scope.takePhoto=function(){     var options = {                                                        

html5调用手机摄像头,实现拍照上传功能

今天做手机网站,想实现手机扫描二维码功能.首先实现在浏览器中调用手机摄像头,实现拍照功能并且把拍下的照片显示在页面并上传到服务器上,然后再在服务器端进行分析. 首先实现在浏览器中调用摄像头,当然用现在火的不行的html5,html5中的<video>标签,并将从摄像头获得视频作为这个标签的输入来源.实现拍照功能的html5代码: <article> <style scoped> video { transform: scaleX(-1); } p { text-alig

html5中调用摄像头拍照

方法: getCamera: 获取摄像头管理对象 对象: Camera: 摄像头对象 CameraOption: JSON对象.调用摄像头的參数 PopPosition: JSON对象,弹出拍照或摄像界面指示位置 回调方法: CameraSuccessCallback: 调用摄像头操作成功回调 CameraErrorCallback: 摄像头操作失败回调 权限: 功能模块(permissions) { // ... "permissions":{ // ... "Camera