Matlab 在应用程序设计器图形中显示视频流
我正在开发一个简单的app-in-app-Designer应用程序,我一直在努力从网络摄像头中获取视频流 我遇到过以下帖子,但到目前为止,我的应用程序无法正常运行: 到目前为止,我正在做的是:Matlab 在应用程序设计器图形中显示视频流,matlab,video,webcam,real-time-updates,matlab-app-designer,Matlab,Video,Webcam,Real Time Updates,Matlab App Designer,我正在开发一个简单的app-in-app-Designer应用程序,我一直在努力从网络摄像头中获取视频流 我遇到过以下帖子,但到目前为止,我的应用程序无法正常运行: 到目前为止,我正在做的是: 在GUI中创建轴对象。这是第二个图形,因此它会自动标记为app.UIAxes2 在我的启动功能中包括以下命令: app.Camera = webcam; %('USB2.0 PC CAMERA') image(app.UIAxes2,zeros(size(snapshot(app.Camera)),'u
app.UIAxes2
app.Camera = webcam; %('USB2.0 PC CAMERA')
image(app.UIAxes2,zeros(size(snapshot(app.Camera)),'uint8'));
app.Camera
是我的相机对象(我已经在类中包含了属性),第二个命令应该将图像调整为相机视频流大小。我可能错了
CameraStreamSwitch
),该开关应在打开时显示视频流(至Start
)% Value changed function: CameraStreamSwitch
function CameraStreamSwitchValueChanged(app, event)
while strcmp(app.CameraStreamSwitch.Value,'Start')
im = image(app.UIAxes_2,zeros(size(snapshot(app.Camera)),'uint8'));
preview(app.Camera,im);
end
end
preview
有关,我没有正确指定正确的图像或图像属性,或者我是否应该在应用程序中以较慢的帧速率显示较少的图像
如何解决这个问题?好的,这不是一个很好的解决方案,但我发现解决这个问题的一个方法是使用
imshow
有效的代码如下所示:
% Value changed function: CameraStreamSwitch
function CameraStreamSwitchValueChanged(app, event)
while strcmp(app.CameraStreamSwitch.Value,'Start')
img = snapshot(app.Camera);
imshow(img,'Parent',app.UIAxes2);
pause(0.1);
end
end
您可以通过更改暂停时间来更改帧速率
如果您有更好的解决方案,请让我知道 你使用appdesigner而不是“老”数字有什么原因吗?这台相机使用其他软件工作吗?你能创建一个显示摄像机流的网页吗?我打算使用App Designer,因为该应用程序显示其他两个图形,使用用户输入的一些矩阵,并在后台实时执行操作。这样,如果成功的话,我将把所有代码都放在一个应用程序中,然后发布和使用。我不是开发人员,Matlab是我最有信心的语言。这是一个一次性的项目。非常感谢!