视频显示具有实时直方图

这个例子说明了如何设置和显示实时直方图。

与图像处理工具箱™图像采集工具箱™一起可以用来显示与实时直方图的视频馈送。校准照相机设定时,这可以是有用的,如光圈使用手动控制。这个例子说明了如何使用预览功能,其相关的自定义更新功能和IMHIST功能放置邻近实时直方图的视频预览窗口。这里的技术可以用来太显示其它实时信息。例如,实况视频馈送可以被放在旁边的视频的一个滤波版本。

本例使用一个回调函数,在发现

  • MATLABROOT \工具箱\ IMAQ \ imaqdemos \帮手

目录,即显示在图窗口中的实时直方图。

观看视频饲料和直方图的夹子。(8秒)

安装视频对象图

%访问图像采集装置。vidobj = videoinput('WINVIDEO');%转换输入图像为灰度。vidobj.ReturnedColorSpace =“灰度”;

相同的尺寸的视频图像对象用于存储和显示输入帧。

%获取视频分辨率。vidRes = vidobj.VideoResolution;%创建的图和图像对象。F =系数('可见'“关”);%的视频分辨率属性返回值×宽×高,但%MATLAB图像是由宽度的高度,使翻转的值。imageRes = fliplr(vidRes);副区(1,2,1);画佳= imshow(零(imageRes));%设定所显示的图像的轴线保持的纵横比%传入帧。图片;

指定每次新帧可称为UpdatePreviewWindowFcn回调函数。回调函数负责显示新的框架和更新直方图。它也可以用来加工定制适用于框架。关于如何使用这个回调的更多细节可以预览功能的文档中找到。这个回调函数本身在文件中定义update_livehistogram_display.m

setappdata(画佳,'UpdatePreviewWindowFcn',@ update_livehistogram_display);

定义回调函数

%以下是update_livehistogram_display.m的包含内容%的回调函数。DBTYPE('update_livehistogram_display.m'
1个功能update_livehistogram_display(OBJ,事件,画佳)2%这个回调函数更新显示的帧和直方图。3 4%版权所有2007至17年MathWorks公司5%6 7%显示当前图像帧。8组(画佳, 'CData的',event.Data);9 10%选择的数字为直方图的第二副区。11副区(1,2,2);12 13%画出直方图。选择128个分级后显示的更快更新。14 imhist(event.Data,128);15 16%刷新显示。17的DrawNow

开始预览

%预览功能启动相机和显示器。所述的图像在其上%显示还指定了视频馈送。预览(vidobj,画佳);%查看直方图30秒。暂停(30);

以上是直方图和视频馈送的样本图像。

%停止预览图像,并删除数字。stoppreview(vidobj);删除(F);

一旦视频输入对象不再需要时,删除和清除相关变量。

删除(vidobj)明确vidobj