在python(opencv)上运行时的异常代码:c000001d

时间:2012-12-02 11:57:02

标签: python opencv

当我在OpenCV Python示例中运行面部检测示例时,它会在代码输入时崩溃

rects = cascade.detectMultiScale(img, scaleFactor=1.3, minNeighbors=4, minSize=(30, 30), flags = cv.CV_HAAR_SCALE_IMAGE)

我使用Visual Studio,它还显示异常代码:c000001d

我在下面附上了问题签名。

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: python.exe
  Application Version:  0.0.0.0
  Application Timestamp:    4f84a6c8
  Fault Module Name:    cv2.pyd
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp:   509430c8
  Exception Code:   c000001d
  Exception Offset: 004d60dc
  OS Version:   6.1.7600.2.0.0.256.1
  Locale ID:    1033
  Additional Information 1: 0a9e
  Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
  Additional Information 3: 0a9e
  Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

2 个答案:

答案 0 :(得分:0)

c000001d是非法指令。最常见的原因是二进制文件损坏,如DLL,或者在这种情况下cv2.pyd

有几种方法可能会被破坏。例如,您可能已将其作为文本文件传输或复制。另一个常见问题是在32位硬件上运行64位代码文件,或者是32位python的64位二进制文​​件,或者上述任何组合。

也可能是您在一个完全不同的指令集或代码文件格式上运行代码,例如从ARM复制代码并期望它在Intel上运行,或从Linux(ELF)运行到Windows(PE COFF)。

答案 1 :(得分:0)

我通过将opencv 2.4.3降级到2.4.2解决了这个问题。

我不是说opencv2.4.3有问题,它可以在其他电脑上工作,但不能在我的电脑上工作。

OpenCV 2.4.2需要tbb_debug.dll,但OpenCV 2.4.3不需要。我认为这是2.4.2和2.4.3之间的区别。也许诀窍在于tbb_debug.dll文件。