当我尝试使用opencv包的模板匹配方法TM_CCOEFF
时,我的python崩溃了。但是我的终端上没有显示错误消息。我可以毫无问题地使用标准方法TM_CCOEFF_NOMRED
。我真的需要TM_CCOEFF
环境是来自anaconda的Python2.7。 OpenCV 2.4.11
代码是:
cv2.matchTemplate(img1, img2, eval('cv2.TM_CCOEFF'))
我从Visual Studio debuger得到的错误:
python.exe中0x74B5E4E4处的未处理异常:0xC0000005:访问冲突写入位置0x00090FE8。
错误报告文件:
-
-
6.1
7601 Service Pack 1
(0x4):Windows 7企业版
企业
7601.23313.amd64fre.win7sp1_ldr.151230-0600
1130
多处理器免费
X64
1033
-
APPCRASH
python.exe
0.0.0.0
4f84a6c8
opencv_core249.dll
0.0.0.0
5408cb57
0000005
00005253
-
6.1.7601.2.1.0.256.4
1033
f8df
f8dfaee172ac09535f188b654ca18c90
6715
67151222e0799356f987ab35b4fd5e05
-
9829DFB7-2EA2-4836-A3C1-35C18A006A4F
戴尔公司
OptiPlex 7010
A16
我没有从此次崩溃中获得的其他信息。 我该如何解决这个问题?
答案 0 :(得分:0)
您应始终检查资源: C ++代码:
Mat img; imread("im1.jpg",1);
if ( img.empty() )
{
cerr << "whaa!" << endl;
return 0;
}
答案 1 :(得分:-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);
这是C ++代码,但它对我有用。