当我尝试以 GigE 或 WinVideo imaq.VideoDevice 打开 PointGrey BlackFly 相机时,如果相机在 FlyCapture2 中打开,Matlab 会锁定 - 如何停止?
Matlab locks when I try opening a PointGrey BlackFly camera as GigE or WinVideo imaq.VideoDevice if the camera is open in FlyCapture2 - How stop?
当我尝试将 PointGrey BlackFly 相机作为 GigE 或 WinVideo imaq.VideoDevice 打开时,如果相机已经在 FlyCapture2 中打开,我如何防止 Matlab 锁定?
我的代码
if ~ exist('videoDevice','var')
videoDevice = imaq.VideoDevice('winvideo', 2, 'RGB24_1288x728');
end
如果相机已经在 FlyCapture2 中打开,95% 的时间会阻塞并挂起 Matlab。
系统:Windows7 Enterprise,64 位,Matlab 2016a,FlyCapture2 2.9.3 或 2.10
我认为您不能同时激活 FlyCapture2 和 Image Acquisition 工具箱。
我能给你的最好建议是在 Matlab 中打开设备之前检查 FlyCapture2 进程是否为 运行。
测试FlyCapture2是否为运行:
[status, result] = system('tasklist /FI "imagename eq Point Grey FlyCap2.exe" /fo table /nh');
结果(当运行):
Point Grey FlyCap2.exe 46820 Console 3 43,232 K
您可以显示警告消息 and/or 终止 FlyCap2.exe 进程:
[status, result] = system('tasklist /FI "imagename eq Point Grey FlyCap2.exe" /fo table /nh');
if (~isempty(strfind(result, 'FlyCap2.exe')))
%Display warning, and wait for user to press OK.
waitfor(warndlg('FlyCap2.exe process is running'));
%Terminate FlyCap2.exe process.
system('taskkill /f /im "Point Grey FlyCap2.exe"');
end
%Open device...
if ~ exist('videoDevice','var')
videoDevice = imaq.VideoDevice('winvideo', 2, 'RGB24_1288x728');
end
当我尝试将 PointGrey BlackFly 相机作为 GigE 或 WinVideo imaq.VideoDevice 打开时,如果相机已经在 FlyCapture2 中打开,我如何防止 Matlab 锁定?
我的代码
if ~ exist('videoDevice','var')
videoDevice = imaq.VideoDevice('winvideo', 2, 'RGB24_1288x728');
end
如果相机已经在 FlyCapture2 中打开,95% 的时间会阻塞并挂起 Matlab。
系统:Windows7 Enterprise,64 位,Matlab 2016a,FlyCapture2 2.9.3 或 2.10
我认为您不能同时激活 FlyCapture2 和 Image Acquisition 工具箱。
我能给你的最好建议是在 Matlab 中打开设备之前检查 FlyCapture2 进程是否为 运行。
测试FlyCapture2是否为运行:
[status, result] = system('tasklist /FI "imagename eq Point Grey FlyCap2.exe" /fo table /nh');
结果(当运行):
Point Grey FlyCap2.exe 46820 Console 3 43,232 K
您可以显示警告消息 and/or 终止 FlyCap2.exe 进程:
[status, result] = system('tasklist /FI "imagename eq Point Grey FlyCap2.exe" /fo table /nh');
if (~isempty(strfind(result, 'FlyCap2.exe')))
%Display warning, and wait for user to press OK.
waitfor(warndlg('FlyCap2.exe process is running'));
%Terminate FlyCap2.exe process.
system('taskkill /f /im "Point Grey FlyCap2.exe"');
end
%Open device...
if ~ exist('videoDevice','var')
videoDevice = imaq.VideoDevice('winvideo', 2, 'RGB24_1288x728');
end