2009-06-23 8 views
1

J'utilise Matlab pour faire fonctionner une caméra. C'est une caméra IDV SharpVision, et j'utilise l'interface Matlab fournie par la société. Lorsque j'essaie d'acquérir une image, j'obtiens une erreur de segmentation. J'ai essayé de préallouer la mémoire en créant un tableau vide pour l'image, mais cela ne fonctionne pas.Erreur de segmentation d'une caméra avec MATLAB

Ceci est la ligne de code qui provoque la faute de SEG:

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

sharpML.dll inclut un fichier MEX pour contrôler la caméra.

Voici une sélection à partir de la trace le message d'erreur de pile:
[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)

Des suggestions? L'entreprise qui fabrique la caméra a depuis cessé ses activités.

~ Adam

+0

Quelle version de MATLAB utilisez-vous et quelle version de MATLAB était utilisée lors de la fabrication de la caméra et du fichier MEX? Est-ce que cela a déjà fonctionné pour vous? – MatlabDoug

+0

J'utilise MATLAB Version 7.4.0.287 (R2007a). Le code fourni par la compagnie de caméra est de 2004. Et non, je n'ai jamais eu une capture d'image réussie avec Matlab (bien que j'ai avec d'autres logiciels, en utilisant cet appareil photo). – Adam

Répondre

1

Cela ressemble à un problème de pilote puisque la faute se produit ici:

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

Une question possible - la le pilote peut être en conflit avec votre système d'exploitation, en particulier si vous utilisez Vista ou un système d'exploitation 64 bits.

Si c'est un problème de pilote, vous pourriez être en mesure de trouver des pilotes mis à jour quelque part en ligne, même si l'entreprise est partie. À part cela, vous pourriez être dans un ruisseau, sauf si vous pouvez trouver la source C pour scratchML et/ou le pilote.

0

Si votre caméra utilise firewire, vous pouvez essayer d'utiliser tool.

1

Problème résolu:

Je réinstallé le logiciel de la caméra et les pilotes de qcam pertinents, ainsi que le nettoyage quelques autres bugs.

Questions connexes