Mam ten problem, gdy próbuję zaimportować cv2 na pythonie i otrzymuję następujący komunikat o błędzie.ImportError: Błąd ładowania biblioteki DLL:% 1 nie jest poprawną aplikacją Win32
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed: %1 is not a valid Win32 application.
Rozumiem, że istnieje wiele postów na ten temat, gdzie sugeruje się, że bitness pakietu różni się od pakietu python.
Jednak wszystko, co używam, ma 64 bity. Jestem na win7 64 bitach, mam dystrybucję winpython 2.7.3.3, 64 bity i skompilowałem opencv w 64 bitach z instrukcją dostarczoną here i umieściłem dll cv2.pyd w folderze Lib/site-packages python.
Niestety, sugestia użycia 32-bitowej wersji Pythona nie działa już dla mnie, ponieważ muszę obsługiwać numpy tablice zbyt duże dla 32 bitów.
Dzięki!
------ UPDATE
Jedyną rzeczą, której brakuje, aby dodać nową ścieżkę binarki OpenCV (C: \ OpenCV \ zbudować \ bin \ Release) do zmiennej środowiskowej PATH systemu Windows, uruchom Pythona.
Wszystko wydaje się teraz działać dobrze!
Jakie kroki zostały podjęte, aby to zrobić? – Exzile
Czego nie rozumiem, dlaczego komunikat o błędzie nie zawiera biblioteki DLL, której nie można załadować? % 1 wydaje się być jedynie symbolem zastępczym dla nazwy biblioteki DLL. – antred
Ah ok. Musisz więc skopiować plik cv2.pyd z folderu x64, jeśli używasz komputera 64-bitowego, aby naprawić ten błąd. @antred Jest to symbol zastępczy.Zwykle zostaje zastąpiony przez bibliotekę DLL, ale nie działa, ponieważ 32-bitowy komputer nie może załadować maszyny 64-bitowej. –