2016-01-31 1 views
1

Lorsque j'essaie d'utiliser la méthode de correspondance de gabarit TM_CCOEFF du paquet opencv, mon python s'est bloqué. Cependant, aucun message d'erreur n'a été affiché sur mon terminal. Je peux utiliser la méthode normalisée TM_CCOEFF_NOMRED sans aucun problème. J'ai vraiment besoin de l'implémentation de TM_CCOEFFCrash OpenCV cv2.matchTemplate: exception non gérée à 0x74B5E4E4 dans python.exe: 0xC0000005

L'environnement est Python2.7 d'anaconda. OpenCV 2.4.11

Le code est:

cv2.matchTemplate(img1, img2, eval('cv2.TM_CCOEFF')) 

L'erreur que je suis arrivé de debuger Visual Studio:

exception non gérée à 0x74B5E4E4 dans python.exe: 0xC0000005: violation d'accès emplacement d'écriture 0x00090FE8 .

Erreur fichier de rapport:

-

-

6.1

7601 Service Pack 1

(0x4): Windows 7 Enterprise

Enterprise

7601.23313.amd64fre.win7sp1_ldr.151230-0600

multiprocesseur Gratuit

X64

-

APPCRASH

python.exe

0.0.0.0

4f84a6c8

opencv_core249.dll

0.0.0.0

5408cb57

c0000005

-

6.1.7601.2.1.0.256.4

f8df

f8dfaee172ac09535f188b654ca18c90

67151222e0799356f987ab35b4fd5e05

-

9829DFB7-2EA2-4836-A3C1-35C18A006A4F

Dell Inc.

OptiPlex 7010

A16

Il n'y a pas d'autres informations que je suis arrivé de cet accident. Comment puis-je résoudre ce problème?

+0

Vous avez dit que vous avez utilisé OpenCV 2.4.11, mais votre rapport d'accident 2.4.9 ... – Miki

+0

dit @Miki Désolé j'ai essayé sur deux machines, l'une est 2.7.3 et l'autre est 2.7.9, ils ont tous deux donné moi erreur identique. Le noyau de la bibliothèque opencv est 2.4.11. – Sirius

Répondre

-2
result.create(result_rows, result_cols, CV_32FC1); 

    cvtColor(img, img, CV_BGR2GRAY);  // <-- add this 
    cvtColor(templ, templ, CV_BGR2GRAY); // <-- add this 

    matchTemplate(img, templ, result, match_method); 

Ce code est C++, mais cela a fonctionné pour moi.