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



当我在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
c000001d

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

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

也可能是您在截然不同的指令集或代码文件格式上运行代码,例如从ARM复制代码并期望它在英特尔上运行,或者从Linux(ELF)运行到Windows(PE COFF)。

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

我并不是说opencv2.4.3有问题,它可以在另一台PC上运行,但不能在我的PC上运行。

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

最新更新