无法检测IDS uEye相机
56个视图(30天)
显示旧的评论
你好,
我有一个matlab 2012 b与图像采集工具箱安装4.4版本,想从我的记录id uEye相机应该DirectShow的兼容。
使用detectedDecice Uitility mathwork (
http://de.mathworks.com/hardware-金宝appsupport/directshow.html
winvideo)检测到摄像头的驱动程序。
但是如果我运行imaghwinfo (winvideo)没有相机。
我试图得到这个摄像头支持包(金宝app
//www.tatmou.com/matlabcentral/fileexchange/45182-matlab-金宝appsupport-package-for-usb-webcams
),但这似乎只有Matlab 2014 >
你有什么建议关于如何访问这个相机?
谢谢你!曼努埃尔
2的评论
sanjoy khawas
2018年8月22日
你好亚当,
谢谢你分享代码。我也试图连接ueye相机通过Matlab的协议(使用max文件)提到了你。然而,我可以连接相机但matlab不显示任何图片。
该命令的输出窗口显示连接的相机——数量:1 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = # DevID CamID Sens串行模型状态= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 0 1 1 558 0 4103146965 UI318xCP-M 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
初始化第一个可用的相机……设置colormode单色……显示模式设置为位图(DIB)…
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =相机信息= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =相机#:1传感器名称:UI318xCP-M单色:1最大宽度:2592 Max高度:2048年全球快门:1像素大小(嗯):4.800000 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
错误使用uEye_Test要求11132555233280 x10x64 (6635520.0 gb)数组超过最大数组大小的偏好。创建数组超过这个极限可能需要很长时间,导致MATLAB变得反应迟钝。有关更多信息,请参见数组大小限制或首选项面板。
有什么想法和建议是高度赞赏。
接受的答案
亚当·怀亚特
2014年12月9日
我没有使用这个路线(这是我的初步计划,我购买了IMAQ工具箱只是为了这个目的)。无论如何,路要走是通过. net接口连接,这是一个例子:
使用. net程序集不是那样简单的c#因为Matlab并不直接支持指针,但是有一个解决方法如下指出。金宝app
记得“退出”相机之前试图re-initialise同样的相机
%增加净组装如果它不存在
%可能需要改变特定位置的库
asm = System.AppDomain.CurrentDomain.GetAssemblies;
如果任何(arrayfun ~ (@ (n) strncmpi (char (asm.Get (n - 1) .FullName),…
“uEyeDotNet”长度(“uEyeDotNet”1:asm.Length))))
NET.addAssembly (…
“C: \ Program Files \ id \ uEye \开发\ DotNet \ \ uEyeDotNet.dll签署“);
结束
%创建相机对象句柄
凸轮= uEye.Camera;
%开放1照相机
%的回报,如果不成功
如果~ strcmp (char (cam.Init),“成功”)
错误(无法初始化摄像头的);
结束
%显示模式设置为位图(DiB)
如果~ strcmp (char (cam.Display.Mode.Set (uEye.Defines.DisplayMode.DiB)),…
“成功”)
错误(“不能设置显示模式”);
结束
%设置colormode 8位生
如果~ strcmp (char (cam.PixelFormat.Set (uEye.Defines.ColorMode.SensorRaw8)),…
“成功”)
错误(“不能设置像素格式”);
结束
%设置触发模式软件(单个图像采集)
如果~ strcmp (char (cam.Trigger.Set (uEye.Defines.TriggerMode.Software)),“成功”)
错误(“不能设置触发格式”);
结束
%分配图像内存
[ErrChk, img。ID] = cam.Memory.Allocate(真正的);
如果~ strcmp (char (ErrChk),“成功”)
错误(无法分配内存的);
结束
%获得图像信息
[ErrChk, img。宽度,img。高度,img。位,img.Pitch]…
= cam.Memory.Inquire (img.ID);
如果~ strcmp (char (ErrChk),“成功”)
错误(“无法获取图像信息”);
结束
%获得图像
如果~ strcmp (char (cam.Acquisition.Freeze(真正的)),“成功”)
错误(无法获取图像的);
结束
%提取图像
[ErrChk, tmp] = cam.Memory.CopyToArray (img.ID);
如果~ strcmp (char (ErrChk),“成功”)
错误(无法获取图像数据的);
结束
%重塑形象
img。Data =重塑(uint8 (tmp), [img。宽度,img。高度,img.Bits / 8]);
%画出图像
himg = imshow (img.Data,“边界”,“紧”);
%获得&画100倍
为n = 1:10 0
%获得图像
如果~ strcmp (char (cam.Acquisition.Freeze(真正的)),“成功”)
错误(无法获取图像的);
结束
%提取图像
[ErrChk, tmp] = cam.Memory.CopyToArray (img.ID);
如果~ strcmp (char (ErrChk),“成功”)
错误(无法获取图像数据的);
结束
%重塑形象
img。Data =重塑(uint8 (tmp), [img。宽度,img。高度,img.Bits / 8]);
%画出图像
集(himg,CData的,img.Data);
drawnow;
结束
%关闭相机
如果~ strcmp (char (cam.Exit),“成功”)
错误(“不能关闭相机”);
结束