在读入摄像头数据的时候,按下ctrl+x键,可以截取图像,就是这样一个功能。功能不多,但很有用。
main.m
clear all; close all; clc; global m; obj=videoinput('winvideo',1,'YUY2_320x240'); h1=preview(obj); %预览视频,同时获取句柄 h2=figure('KeyPressFcn',@keyPressFigure); %新建显示图像figure,同时获取句柄 while ishandle(h1) && ishandle(h2) %两个句柄有一个关闭就结束程序 frame=getsnapshot(obj); %捕获图像 frame=ycbcr2rgb(frame); %转成彩色,这个frame就可以按照自己意愿处理了 subplot(1,2,1); imshow(frame); drawnow; subplot(1,2,2); imshow(m); end delete(obj); %删除对象
KeyPressFigure.m
function keyPressFigure(src,event) global m; % CTRL + x if length(event.Modifier) == 1 & strcmp(event.Modifier{:}, 'control') & event.Key == 'x' m=imcrop(); end end