主要内容

视频显示与实时直方图

此示例演示如何设置和显示实时直方图。

图像采集工具箱™和图像处理工具箱™可用于显示带有实时直方图的视频提要。这在校准相机设置时很有用,例如使用手动控制光圈。这个例子展示了如何使用PREVIEW函数、其关联的自定义更新函数和IMHIST函数来将视频预览窗口放置在实时直方图的旁边。这里的技术也可以用来显示其他实时信息。例如,可以将一个实时视频feed放在经过过滤的视频版本旁边。

观看视频片段和直方图.(8秒)

设置视频对象和图形

访问图像采集设备。vidobj = videoinput (“winvideo”);将输入图像转换为灰度。vidobj。ReturnedColorSpace =“灰度”

与视频大小相同的图像对象用于存储和显示传入的帧。

检索视频分辨率。vidRes = vidobj.VideoResolution;创建一个图形和一个图像对象。图(f =“可见”“关闭”);视频分辨率属性返回的值为宽度/高度,但是MATLAB图像是高度除以宽度,所以翻转值。。成像仪= fliplr (vidRes);次要情节(1、2、1);hImage = imshow(0(成像));设置所显示图像的轴线以保持的长宽比%的框架。图像

指定UpdatePreviewWindowFcn回调函数,该回调函数在每次新帧可用时被调用。回调函数负责显示新帧和更新直方图。它还可以用于对帧应用自定义处理。关于如何使用这个回调的更多细节,可以在PREVIEW函数的文档中找到。这个回调函数本身在文件中定义update_livehistogram_display.m

setappdata (hImage“UpdatePreviewWindowFcn”, @update_livehistogram_display);

定义回调函数

以下是update_livehistogram_display的内容。米中含有回调函数。dbtype (“update_livehistogram_display.m”
这个回调函数更新所显示的帧和直方图。3 4%版权所有2007-2017 The MathWorks, Inc.显示当前图像框架。8 set(hImage, 'CData', event.Data);9 10%选择直方图上的第二个子图。11个次要情节(1、2、2);绘制直方图。选择128箱更快更新显示。14 imhist(事件。数据,128);15 16%刷新显示。17 drawnow

开始预览

预览功能启动相机和显示。。在上面的图像%显示视频提要也被指定。预览(vidobj hImage);查看直方图30秒。暂停(30);

上图是直方图和视频提要的示例图像。

停止预览图像并删除图。stoppreview (vidobj);删除(f);

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

删除(vidobj)清晰vidobj
Baidu
map