2009-06-23 30 views
1

我正在使用Matlab来操作相机。这是一台IDT SharpVision相机,我正在使用该公司提供的Matlab接口。当我尝试获取图像时,出现分段错误。我试图通过为图像创建一个空数组来预先分配内存,但这不起作用。使用MATLAB操作相机的分段错误

这是代码引起赛格故障的行:

[nResult, x] = sharpML('IdtSvAcquire',cameraId); 

sharpML.dll包括用于控制照相机的MEX文件。

下面是从错误消息堆栈跟踪的选择:
[0] QCamChildDriver.dll:0x160fdde4(0x0f99ef08,15,0x00ced938,0x00ced938)
[1] QCamDriver.dll:0x0f9c1dd8(4146,0x00ced938,0x00ced924 ,0x11283430)
[2] sharpML.dll:0x0f991d8c(2,0x00cedf88,2,0x00cedfe8)
[3] sharpML.dll:0x0f991448(2,0x00cedf88,2,0x00cedfe8)
...
[35 ] MATLAB.exe:0x00403bd2(1109972,0,0x7ffd9000,0x805512fa)
[36] kernel32.dll:0x7c817077(0x00403daf,0,0x78746341,32)

有什么建议吗?制造相机的公司因此倒闭了。

〜亚当

+0

您使用的是什么版本的MATLAB,以及当制造相机和MEX文件时,MATLAB的最新版本。 以前有没有为你工作? – MatlabDoug 2009-06-23 19:53:58

回答

1

这听起来像是因为故障驱动器的问题发生在这里:

QCamChildDriver.dll:0x160fdde4(0x0f99ef08,15,0x00ced938,0x00ced938)

一个可能的问题 - 驱动程序可能与您的操作系统冲突,特别是在运行Vista或任何64位操作系统的情况下。

如果是驱动程序问题,即使公司不在,您也许可以在线找到更新的驱动程序。

除此之外,您可能会遇到一条小溪,除非您可以找到scratchML和/或驱动程序的C源代码。

0

如果你的相机使用火线,你可以尝试使用这个tool

1

问题解决了:

我重新安装了摄像头的软件和相关的驱动程序qcam的相关,与清理一些其他错误一起。