1

我正在使用 Matlab 操作相机。它是IDT SharpVision相机,我使用的是公司提供的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] sharp fadll:0x0f991d8c(2, 0x00cedf88, 2, 0x00cedfe8)
[3] sharpML.dll:0x0f991448(2, 0x00cedf88, 2, 0x00cedfe8)
... [
35] MATLAB.exe:0x00403bd2(1109972, 0, 0x7ffd9000, 0x
36] kernel32.dll:0x7c817077(0x00403daf, 0, 0x78746341, 32)

有什么建议么?制造相机的公司已经倒闭。

〜亚当

4

3 回答 3

1

这听起来像是驱动程序问题,因为故障发生在这里:

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

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

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

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

于 2009-06-24T01:25:51.543 回答
1

问题解决了:

我重新安装了相机软件和相关的 QCam 驱动程序,并清理了一些其他错误。

于 2009-06-26T20:05:35.510 回答
0

如果您的相机使用火线,您可以尝试使用此工具

于 2009-06-26T05:25:49.373 回答