gpt4 book ai didi

computer-vision - Matlab - 关闭 vision.VideoPlayer 处理程序

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:26 25 4
gpt4 key购买 nike

首先,请原谅我的英语不好。我在里面工作。

我正在从事计算机视觉应用方面的工作。我正在使用网络摄像头。主循环是这样的:

  while true
get frame
process frame
show frame in figure
end while

我想要这样的东西:

 while figure is open
get frame
process frame
show frame in figure
end while

我曾经使用 figure 和 imshow 来绘制框架,并且我使用处理程序来了解用户何时关闭图形。

fig = figure;
set(fig,'KeyPressFcn','exit = true;');
set(fig,'CloseRequestFcn', 'exit = true; delete(gcf)');

但现在我正在使用 Computer System Toolbox 中的 vision.VideoPlayer,因为速度更快,而且我找不到执行类似操作的方法。我不想使用 GUI。

代码是这样的(来自 other thread ):

vid = videoinput('winvideo', 1, 'RGB24_320x240'); %select input device

hvpc = vision.VideoPlayer; %create video player object

src = getselectedsource(vid);
vid.FramesPerTrigger =1;
vid.TriggerRepeat = Inf;
vid.ReturnedColorspace = 'rgb';
src.FrameRate = '30';
start(vid)

%start main loop for image acquisition
for t=1:500
imgO=getdata(vid,1,'uint8'); %get image from camera
hvpc.step(imgO); %see current image in player
end

一些想法?

最佳答案

打开“ShowHiddenHandles”即可找到vision.VideoPlayer对象的图形句柄。

set(0, 'ShowHiddenHandles', 'on') % Revert this back to off after you get the handle

这样gcf就可以给你handle了。但是更改隐藏句柄的回调是有风险的。他们可能已经为 VideoPlayer 对象的正常运行设置了许多回调。您可能想要检查它们的有效性和可见性以检测它是否打开。

h = gcf;
...
ishandle(h)
get(h, 'Visible') % will return 'off' if the figure is not visible.

关于computer-vision - Matlab - 关闭 vision.VideoPlayer 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19406580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com