У меня есть эта проблема, когда я пытаюсь импортировать cv2 на python и получить следующее сообщение об ошибке.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: %1 is not a valid Win32 application.
Я понимаю, что есть много сообщений об этом, где предлагается, чтобы битность пакета отличалась от пакета python.
Однако все, что я запускаю, - 64 бита. Я на win7 64 бит, у меня есть winpython 2.7.3.3, дистрибутив 64 бит, и я скомпилировал opencv в 64 битах с инструкцией здесь и поместил dll cv2.pyd в папку Lib/site-packages на python.
К сожалению, предложение использовать 32-битную версию python для меня больше не работает, поскольку я должен обрабатывать массивы numpy слишком большими для 32 бит.
Спасибо!!!
------ UPDATE
Единственное, чего не хватало, это добавить новый путь двоичных файлов opencv (C:\opencv\build\bin\Release) к переменной среды Windows PATH, перезапустить python.
Теперь все работает нормально!