These are the things I tried but nothing seems to work yet
pip install opencv-python
OR
python -m pip install opencv-python
gives an error
ERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)
ERROR: No matching distribution found for opencv-python
I downloaded the opencv windows package from the site and copied the PYD file into python’s site-packages
but still cv2 cannot be imported
import cv2
gives an error as
DLL load failed while importing cv2: %1 is not a valid Win32 application.
Then I downloaded the opecv-control WHL file for python3.8/32bit (as my python is 32 bit) unofficial Binaries for python extension packages
and followed the step but still nothing happened
I am a beginner in this.
![]()
James Z
12.2k10 gold badges28 silver badges44 bronze badges
asked Nov 18, 2019 at 16:04
![]()
1
OpenCV hasn’t been built for 3.8 yet according to the docs 3.7 is the highest version
https://pypi.org/project/opencv-python/
try downgrading your python to 3.7 or below. It would work.
answered Nov 18, 2019 at 16:16
![]()
ArunJoseArunJose
1,8691 gold badge10 silver badges29 bronze badges
0
Is pip up to date? You can run python -m pip install --upgrade pip to check.
It should work after that.
answered Nov 18, 2019 at 16:14
![]()
Please try the following:
import imp
imp.find_module("cv2")
answered Nov 18, 2019 at 16:11
alexisdevarennesalexisdevarennes
5,3313 gold badges24 silver badges37 bronze badges
Python Package Link
In the above link search opencv_python‑4.1.2‑cp36‑cp36m‑win_amd64.whl for python 3.6
64 bit and download that wheel file.
Install procedures:
-
Go to the site-package path in the python36
C:Program FilesPython36Libsite-packages>
-
Then put the command pip install . Example,
C:Program FilesPython36Libsite-packages>pip install F:urllib3-1.25.7-py2.py3-none-any.whl
After this procedure import and check in IDLE.
If any doubt ping this. Good luck
answered Nov 18, 2019 at 16:20
![]()
These are the things I tried but nothing seems to work yet
pip install opencv-python
OR
python -m pip install opencv-python
gives an error
ERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)
ERROR: No matching distribution found for opencv-python
I downloaded the opencv windows package from the site and copied the PYD file into python’s site-packages
but still cv2 cannot be imported
import cv2
gives an error as
DLL load failed while importing cv2: %1 is not a valid Win32 application.
Then I downloaded the opecv-control WHL file for python3.8/32bit (as my python is 32 bit) unofficial Binaries for python extension packages
and followed the step but still nothing happened
I am a beginner in this.
![]()
James Z
12.2k10 gold badges28 silver badges44 bronze badges
asked Nov 18, 2019 at 16:04
![]()
1
OpenCV hasn’t been built for 3.8 yet according to the docs 3.7 is the highest version
https://pypi.org/project/opencv-python/
try downgrading your python to 3.7 or below. It would work.
answered Nov 18, 2019 at 16:16
![]()
ArunJoseArunJose
1,8691 gold badge10 silver badges29 bronze badges
0
Is pip up to date? You can run python -m pip install --upgrade pip to check.
It should work after that.
answered Nov 18, 2019 at 16:14
![]()
Please try the following:
import imp
imp.find_module("cv2")
answered Nov 18, 2019 at 16:11
alexisdevarennesalexisdevarennes
5,3313 gold badges24 silver badges37 bronze badges
Python Package Link
In the above link search opencv_python‑4.1.2‑cp36‑cp36m‑win_amd64.whl for python 3.6
64 bit and download that wheel file.
Install procedures:
-
Go to the site-package path in the python36
C:Program FilesPython36Libsite-packages>
-
Then put the command pip install . Example,
C:Program FilesPython36Libsite-packages>pip install F:urllib3-1.25.7-py2.py3-none-any.whl
After this procedure import and check in IDLE.
If any doubt ping this. Good luck
answered Nov 18, 2019 at 16:20
![]()
Содержание
- Python3 — ImportError: No module named ‘cv2’
- Среда исполнения
- Признаки ошибки
- Причина ошибки
- Локализация ошибки
- Заключение
- Установка OpenCV в Windows для чайников и подключение библиотеки в Code Blocks
Python3 — ImportError: No module named ‘cv2’

В заголовке известная ошибка python3.
Интерпретатор python2 импортирует opencv без ошибок при установке совместно с python3 в единой среде исполнения.
Краткая инструкция по локализации ошибки далее.
Среда исполнения
Дистрибутив линукс с длинным циклом поддержки.
Установлены все стабильные обновления.
Все пакеты развёрнуты системным менеджером ( apt ) или сборкой в среде исполнения из исходных текстов штатными средствами.
Установлены штатным способом два интерпретатора: python-2.7 и python-3.5.
Пакетов со стороны, пакетов собранных вне среды исполнения, нарушенных зависимостей, конфликтов версий нет.
Признаки ошибки
Ошибка возникает на этапе загрузки библиотеки opencv в интерпретаторе python‑3.5.

Причина ошибки
Причина ошибки — разные файловые структуры у python‑2.7 и python‑3.5; отличие системы индексов версий в именовании каталогов и файлов.
В одном случае, python‑2.7, один индекс версии — 2.7.
В другом случае, python‑3.5, три индекса версии — 3, 3.5 и 3.5m.
Конфигуратор сборки opencv устанавливает файловые пути python3 подобно python2.
Сборка и установка модулей opencv для python3 производится с ошибками файловой структуры.
Локализация ошибки
Ошибка исправляется через уточнение связанных параметров cmake с последующей установкой opencv из исходных текстов.
Заключение
Ошибка локализована параметрами cmake.

Для других сред исполнения и версий python3 уточнять параметры cmake по‑обстоятельствам.
Источник
Установка OpenCV в Windows для чайников и подключение библиотеки в Code Blocks

Данная статья будет полезна чайникам новичкам в программировании, которые хотят начать изучать техническое зрение при помощи библиотеки OpenCV с полного нуля. Если Вы пользователь Windows и даже не знаете, что значит «прилинковать библиотеку», и при этом Вы мечтаете поглубже изучить работу OpenCV и программирование «под железо», перейти на кроссплатформенное ПО, пойти по пути тру специалиста, то Вам сюда. В статье будут приведены подробные инструкции с картинками, так что не понять, что к чему, будет просто невозможно!
Краткий экскурс по содержанию. Если Вы в первый раз слышите про всё, что написано ниже, то просто читайте и изучайте статью по порядку. Если же Вы что-то уже знаете, можете пропустить данный пункт в статье.
- Как пользоваться командной строкой
Всё про необходимый набор команд для сборки OpenCV. - Компилятор GCC
Немного о том, как найти нужную Вам сборку GCС и предостережение о возможных ошибках, а также немного про некоторые встроенные в GCC библиотеки для распараллеливания процессов на CPU и GPU. - Установка компилятора
Вы узнаете, как прописывать переменные среды PATH, и какие проблемы могут возникнуть при установке компилятора. - CMake
Немного про Cmake. - OpenCV
Вы узнаете, где скачать, и как подготовить к установке OpenCV, а также немного про саму библиотеку. - Как пользоваться CMake
Вы узнаете, как настроить компилятор в Cmake и указать пути к библиотеке и к сборке. - Настраиваем сборку OpenCV в Cmake
Вы узнаете про некоторые опции сборки OpenCV, для настройки его под свои нужды. - Code::Blocks
Немного о Code::Blocks. Создание примера проекта. - Проблемы с Code::Blocks
Какие бывают глюки при работе с Code::Blocks. - Подключение OpenCV в Code Blocks
Вся необходимая и подробная информация, чтобы подключить библиотеку OpenCV к Вашему проекту. - Ошибки во время компиляции программы с библиотекой OpenCV
Здесь приводится порядок подключения файлов библиотек OpenCV, а также рассматриваются ошибки из-за отсутствия необходимых для работы OpenCV библиотек. - Заключение
Как пользоваться командной строкой
Если в Linux командная строка является неотъемлемой частью операционной системы, то в Windows она почти никогда не нужна. Однако мы ведь хотим стать тру специалистами и научиться программировать под любое железо в любой ОС, писать программы в блокноте и т.д.? Поэтому начнем с командной строки, хотя она будет нужна нам всего лишь для двух команд — mingw32-make и mingw32-make install, но об этом позже. Если Вы уже в курсе, как пользоваться командной строкой, то можете пропустить данный пункт. В противном случае смотрим под спойлер.
Итак, сначала запустим командную строку. Зайдем в ПУСК и в поиске введем cmd. Что поиск найдет, то и запускаем. Должно появиться такое вот окошко:

Чтобы перейти на диск D: нужно набрать команду cd /d D:, как на картинке.

Дальше попробуем перейти в папку ( в примере это папка YAR ). Команда cd может нам в этом помочь. В моем случае надо просто набрать cd YAR и нажать клавишу Enter, как на картинке.

Если же нужно вернуться назад, достаточно набрать команду cd .., и Вы окажетесь в предыдущей папке. Также часто удобно использовать клавишу Tab, чтобы командная строка перечисляла имена папок, начинающихся на тот символ, который Вы напечатали после команды cd, как например на этой анимации.

Командная строка показывает лишь две папки на букву ‘o’, так как в папке YAR есть лишь две такие папки.

Это минимальный набор команд для перемещения в файловой системе, который нам необходимо знать. Запомните их, cd /d перемещает на указанный диск, cd перемещает в указанную папку, а команда cd .. возвращает нас назад.
Существует хороший, бесплатный и открытый компилятор — GCC. Для Windows есть коллекция бесплатных виндоусовских компиляторов для C и C++ — MinGW. Другие компиляторы я не использовал, поэтому в данной статье не затрагиваю.
Итак, компилятор значит GCC, гуглим MinGW, однако не спешите тут же скачивать что попало. Сначала надо уловить пару тонкостей, так как мы же сидим под Windows. Во-первых, если Вы скачаете первое, что попадется под руку, пусть и последнюю сборку компилятора, в дальнейшем Вас может ждать разочарование, когда во время сборки библиотеки OpenCV выскочит ошибка вроде этой:

Обратим внимание на строку: error: ‘thread’ in namespace ‘std’ does not name a type std::thread second_workthread; Эта ошибка говорит о том, что в стандартной библиотеке std нет класса thread, и это несмотря на то, что std стандартная библиотека, и класс thread в ней должен быть обязателен в С++ 11, и компилятор MinGW у Вас версии 6. Дело в том, что во многих сборках MinGW под Windows не поддерживается работа с потоками через std::thread. Поэтому надо найти сборку MinGW (или собрать MinGW самому) с рабочим классом std::thread. В том числе поэтому нельзя использовать TDM GCC. По-другому эту проблему не решить.
Если Вас устроит версия MinGW 5.1, то советую скачать ее тут, с помощью этого набора компиляторов я удачно собрал OpenCV на Windows 10.
Если Вас интересует, как можно распараллелить процессы между ядрами процессора или видеокарты с помощью библиотек OpenMP, OpenACC, то стоит прочитать об этом под спойлером.
А если пока лень во всё вникать, просто качайте компилятор по ссылке, распакуйте архив, переместите содержимое архива, куда Вам нужно, и следуйте инструкции дальше.
После того, как Вы скачаете MinGW, надо будет провести пару нехитрых манипуляций с ним — прописать папку bin в переменную среды PATH. Это нужно для того, чтобы из командной строки можно было воспользоваться командой make или mingw32-make, иначе Вас будет ждать такое сообщение: «mingw32-make» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Также в папке bin расположены динамические библиотеки для работы компилятора, которые windows попросту не увидит, если Вы не пропишите путь к папке bin в переменную среды PATH.
Итак, чтобы прописать путь к папке с компиляторами в переменную среды PATH, идем сначала в ПУСК, затем тыкаем в Этот компьютер и заходим в свойства. Там нажимаем Дополнительные параметры системы, находим и жмем переменные среды и затем, или в окне переменные среды пользователя (если Вы делаете эту переменную только для себя), или в окне системные переменные (если Вы делаете переменную для всех пользователей Windows) находим переменную PATH (или Path) и в нее дописываем Ваш путь до папки bin. Например, как в моем случае C:MinGWmingw64bin. Путь прописываем после символа ‘;’. Если у Вас в списке переменных нет PATH, то можете создать её, и тогда в ней будет пока один единственный путь — путь до Вашего компилятора GCC. Не забудьте переместить MinGW в удобную для Вас папку, прежде чем прописывать путь до папки bin. Также не забудьте перезапустить командную строку (если Вы её уже запустили) после добавления в PATH папки bin Вашего MinGW.
Cmake полезная штука, это кроcсплатформенная утилита для автоматической сборки программы из исходного кода. Она нам будет нужна, чтобы подготовить OpenCV к сборке. Качаем Cmake, если у Вас 64-разрядная система, качаем архив cmake-3.7.1-win64-x64.zip. Когда архив будет скачен, распакуйте его куда Вам удобнее. Cmake можно пользоваться через GUI. Для этого в папке с Cmake заходим в папку bin и нажимаем cmake-gui.exe. Теперь на время отложим Cmake и займемся OpenCV.
Если Вы читаете данную статью, то скорее всего уже знаете, зачем нужен OpenCV, и на что эта библиотека способна. Остальные могут посмотреть это видео и почитать тут. Для установки OpenCV нам надо скачать два архива. Один архив непосредственно с самой библиотекой OpenCV, а второй архив — дополнительные модули для библиотеки OpenCV. Каждый модуль ответственен за что-то свое, например, bioinspired модуль содержит в себе модель сетчатки глаза и может быть применен для детектора движения или для выравнивания яркости на изображении. Некоторые модули идут в составе архива с библиотекой OpenCV.
Итак, гуглим extra modules, чтобы найти модули для OpenCV. Если лень искать, можете скачать тут.
Затем гуглим саму библиотеку OpenCV, скачать ее можно тут и тут (во втором случае выберете OpenCV for Linux/Mac, так как версия для Windows рассчитана на Visual Studio). На момент написания статьи последняя версия OpenCV 3.2.0.
После того, как скачали два архива, распакуйте их и переместите содержимое, куда Вам удобно. Зайдите в папку OpenCV и создайте там папку build (или назовите ее как угодно, это просто папка, куда будет собираться OpenCV). И вот теперь можно начать работать с Cmake.
Как пользоваться Cmake
В окне Cmake нажимаем Browse Source и выбираем папку, где находятся файлы библиотеки OpenCV. Затем нажимаем Browse Build и выбираем папку build, которую ранее создали внутри папки с библиотекой OpenCV. В итоге должно получиться примерно, как на этой картинке.
Затем нажимаем кнопку Configure, должно появиться окошко, где можно настроить, под что именно Вы хотите собрать библиотеку.
Где написано Specify the generator for this project оставьте без изменений, строка MinGW Makefiles будет говорить о том, что Cmake соберет библиотеку с файлом инструкции для программы make под компиляторы MinGW. О том, что такое Makefiles можно почитать тут, а как этим пользоваться, тут. Впрочем, пока не надо на это распыляться, продолжаем установку OpenCV. Выберите пункт Specify native compilers, затем нажмите кнопку Next.
Дальше в новом окне выбираем компиляторы для языка C и С++. Эти компиляторы находятся в папке bin набора компиляторов MinGW. Для языка C прописываем путь до программы в папке bin, что заканчивается на mingw32-gcc.exe, а для языка C++ — путь до программы, что заканчивается на mingw32-g++.exe, язык Fortan не трогаем. В моем случае в папке bin есть такие программы компиляторов x86_64-w64-mingw32-gcc.exe и x86_64-w64-mingw32-g++.exe, их я и указал. Если вы забудете, что именно нужно указывать в этих пунктах, можно подсмотреть в настройках компилятора Code::Blocks (Если Вы скачали его со встроенным компилятором MinGW). Для этого в программе Code::Blocks заходим в Settings, выбираем пункт Compiler, заходим в Toolchain executables. В закладке Program Files на строчках C Compiler и C++ Compiler указаны компиляторы для языка C и C++.
Жмем в настройках компиляторов Cmake кнопку Finish и…

Это означает, что библиотека OpenCV слишком сложная для обывателя, и зря мы вообще начали ее устанавливать. Чтобы ею пользоваться, надо сначала получить академические корочки и изучать программирование лет 10-20, и вообще технический прогресс уже слишком далеко ушел, и никакие DIY проекты за ним не угонятся… Короче, бросьте это дело, не для Вас это.
Шучу. Ошибка скорее всего вызвана тем, что Windows не видит dll библиотеки компилятора, несмотря на то, что мы прописали папку bin в PATH. Поэтому идем в папку bin и копируем все dll файлы, а затем вставляем в папку system32, которая находится в папке Windows на диске C:. В моем случае таких dll файлов было много.
Теперь снова жмем кнопку Cmake’a Configure и процесс должен пойти успешно. В конце получим такую вот картину:

Настраиваем сборку OpenCV в Cmake
Как Вы видите, есть много опций. Затронем некоторые важные из них. Начнем с внешних модулей OpenCV. Ищем в Cmake опцию OPENCV_EXTRA_MODULES_PATH (в Cmake есть поиск, в котором удобно искать интересующую Вас опцию) и прописываем там путь до внешних модулей, которые мы скачали отдельным архивом opencv_contrib-master.zip. В моем случае путь выглядит так: D:YAR_repozopencv_contrib-masteropencv_contrib-mastermodules.
Рассмотрим флаги, например, BUILD_EXAMPLES включает постройку примеров, можно поставить галочку. BUILD_SHARED_LIBS (по умолчанию стоит галочка) указывает, строить динамические библиотеки или статические. Статические библиотеки будут вшиты в программный код Вашей программы, поэтому ее будет легче переносить с одного компьютера на другой, однако при этом программа будет больше весить. Динамические библиотеки могут использовать все Ваши программы, однако на другом компьютере их может не быть, если OpenCV не будет установлен. WITH_TBB включает использование библиотеки Intel Threading Building Blocks, если у Вас она на компьютере установлена, можете включить эту опцию (однако стоит заметить, что Cmake включает некоторые опции сам, если на компьютере обнаружено необходимое ПО). WITH_CUDA включает использование CUDA для работы с GPU (на компьютере должен быть установлен CUDA). CMAKE_BUILD_TYPE может иметь два состояния, Debug и Release, выберете тип сборки, какой Вам необходим.
После того, как Вы определитесь со всеми опциями, жмем снова кнопку Configure. После того, как Cmake закончит, жмем кнопку Generate. Если все прошло без ошибок, теперь дело стоит за командной строкой. Итак, открываем командную строку и переходим в папку build. Пишем в командной строке mingw32-make и жмем Enter. Должно получиться примерно такое:

Сборка OpenCV началась, теперь надо подождать… Можете пока сходить попить чаю или посмотреть, как хакнуть время.
Если на экране командной строки нет никаких ошибок, и сборка дошла до 100%, то можно написать команду mingw32-make install.
Когда установка OpenCV будет закончена, в папке build или в папке install в папке build должны появиться все необходимые файлы.
В папке include будут размещены все заголовочные .hpp и .h файлы, которые вы будете подключать в своем коде. Далее в папке lib или в моем случае opencv-3.2.0buildinstallx64mingwstaticlib находятся все библиотеки OpenCV. В моем случае это статичные библиотеки .a. Также здесь должен быть файл, в котором можно посмотреть на порядок подключения этих библиотек, например, файл OpenCVModules.cmake. Если его открыть, можно найти там следующее:
Видите zlib libtiff libjpeg libwebp и т.д., это библиотеки, только тут они перечислены в правильном порядке. Если Вы их подключите не в том порядке, в котором их будет проверять компилятор, то возникнут ошибки, но об этом позже.
В директории opencv-3.2.0buildinstallx64mingwbin находятся программы для обучения каскада HAAR’a, которые могут пригодиться в будущем, чтобы обучить детектор OpenCV на интересующие Вас объекты, а тут opencv-3.2.0buildinstalletchaarcascades находятся уже обученные каскады.
Code::Blocks
Кажется, я говорил, что тру специалист может кодить в блокноте, но пока мы остановимся на среде разработки Code::Blocks. Это свободная кроссплатформенная среда разработки, т.е. Вы сможете пользоваться средой разработки как под Windows, так и под Linux. В данной статье подключение OpenCV будет именно в этой среде разработки. Если Вы еще не знакомы с данной средой для программирования, для Вас есть немного информации под спойлером.
Скачайте последнюю версию, можно со встроенным компилятором MinGW, для этого скачайте по ссылкам codeblocks-16.01mingw-setup.exe тут. После установки Code::Blocks попробуйте создать тестовый проект. Для этого выполняем действия в такой последовательности: File -> New -> Project. , выбираем Console Application и жмем Go, выбираем компилятор C++ или C, пишем имя проекта, нажимаем Finish. Чтобы посмотреть файл main программы, нажимаем слева на крестик возле надписи Sources внутри окна Management в закладке Projects. Выбрав файл main, можно посмотреть его содержимое, там должно быть что-то вроде этого (для языка C++):
Наверху в среде разработки есть иконка с желтой шестеренкой, нажмите на нее, чтобы скомпилировать программу. Затем нажмите на иконку, похожую на кнопку Play, и программа запустится. Все вышеперечисленные действия можно посмотреть в виде анимации ниже.
Проблемы с Code::Blocks
Иногда запущенную программу не получается закрыть. Чаще всего это бывает, если сделать завершение работы программы через среду разработки, нажав иконку Abort. В этом случае зайдите в диспетчер задач и посмотрите процессы. Снимите задачу, которая является Вашей программой.
Также бывает, что после подключения заголовочных файлов Code::Blocks начинает жутко тормозить. Эту проблему можно решить, убрав галочку в пункте Update parser when typing (on save otherwise) в настройках среды разработки (Settings → Editor… → Code completion).
Подключение OpenCV в Code Blocks
И вот настал долгожданный момент. OpenCV можно подключить как к конкретному проекту, так и в глобальных настройках среды программирования Code Blocks, чтобы потом не возиться с настройками для каждого проекта с OpenCV в отдельности. Оба варианта реализуются почти одинаково. Итак, сначала подключим библиотеки. Хочу напомнить, что, если Вы собрали OpenCV с использованием динамических библиотек, то файлы с расширением dll (которые Вы должны найти где-то в папке с собранной библиотекой) нужно переместить или в папку с Вашей программой (кинуть их в папку с проектом Code Blocks) или скопировать их в папку операционной системы system32. Хотя по идее все должно работать, если эти файлы будут находиться в одном из путей, прописанных в PATH. В противном случае Ваша программа скомпилируется, но при запуске выдаст ошибку. В моем случае OpenCV собрана с использованием статических библиотек.
Итак, сначала подключим библиотеки. Заходим в настройки компилятора (Settings → Compiler… → Global Compiler Settings → Linker Settings) и добавляем туда все файлы библиотек (в моем случае эти файлы находятся тут opencv-3.2.0opencv-3.2.0buildinstallx64mingwstaticlib). Далее идем в настройки Search directories и во вкладке Compiler и Linker прописываем пути до папок с заголовочными файлами OpenCV. В моем случае эти пути такие: D:YAR_repozopencv-3.2.0opencv-3.2.0buildinstallinclude (обязательно!), D:YAR_repozopencv-3.2.0opencv-3.2.0buildinstallincludeopencv2 и D:YAR_repozopencv-3.2.0opencv-3.2.0buildinstallincludeopencv для удобства подключение заголовочных файлов (чтобы вместо #include «opencv2cv.hpp» писать сразу #include );
Для OpenCV версии 2.0 на данном этапе (скорее всего) всё было бы уже готово. Однако для версии 3.1 и 3.2 при попытке скомпилировать программу появится ошибка. Попробуйте запустить эту программу:
После неудачной попытки ее скомпилировать может появится, например, такая ошибка:

Это означает, что техническое зрение — очень сложное направление, и зря Вы решили этим заняться. В мире есть много других профессий, где не надо разбираться в программировании и, тем более, в техническом зрении. В области IT уже все давно придумали за Вас, и нет смысла пытаться что-то сделать самому, и, уж тем более, лезть в стартапы. Осталось лишь принять тот факт, что Вы обречены остаться всего лишь потребителем высоких технологий до конца своих дней… Шучу, конечно!
Ошибки во время компиляции программы с библиотекой OpenCV
Итак, разберемся в ошибках.
undefined reference to `GOMP_parallel’
Из лога ошибки видно, что проблема кроется в файле libopencv_core320 библиотеки OpenCV, компилятор не знает, что такое GOMP_parallel. Подобные ошибки обычно означают то, что некая библиотека не была подключена. В данном случае эта библиотека OpenMP, о которой я говорил в начале статьи, когда писал про компилятор GCC. Подключим её и посмотрим дальше. О том, как подключить OpenMP в проект, Вы можете прочитать тут.
Теперь при попытке скомпилировать могут снова возникнуть ошибки, например, такие:

Важная информация из лога ошибки
Из этого лога видно, что проблема в библиотеке GDI, которая позволяет приложениям использовать графику и форматированный текст на мониторе и принтере. Добавим ее точно так же, как предыдущую библиотеку.
Еще одна ошибка, наверное, самая важная.

В логах видно, что имеет место быть какая-то библиотека Imf, например, undefined reference to Imf::Chromaticities::Chromaticities. Однако эта библиотека уже есть в составе OpenCV, да и к тому же мы её уже подключили!

Дело в том, что компилятор проверяет библиотеки в среде Windows, начиная с конца того списка библиотек, которые мы добавили. И как видно на картинке, файл libIlmImf.a находится в начале, и в итоге компилятор находит сначала библиотеку, в которой используются функции из файла libIlmImf.a, а затем находит файл libIlmImf.a, но уже поздно — он уже сообщил, что есть ошибка. Этот вопрос разрешается просто — нужно привести наш список библиотечных файлов в правильный порядок. Делается это кнопками «вверх» и «вниз», которые я отметил на картинке.
Порядок подключения библиотек можно найти в файлах .cmake в папке с библиотеками OpenCV, об этом я уже писал в данной статье выше. Приведу порядок подключения для OpenCV 3.2
Так порядок подключения выглядит в Code Blocks:
А вот список, который в Code Blocks придется заполнять снизу вверх.
zlib
libtiff
libjpeg
libwebp
libjasper
libpng
IlmImf
opencv_core
opencv_flann
opencv_imgproc
opencv_ml
opencv_photo
opencv_reg
opencv_surface_matching
opencv_video
libprotobuf
opencv_dnn
opencv_fuzzy
opencv_imgcodecs
opencv_shape
opencv_videoio
opencv_highgui
opencv_objdetect
opencv_plot
opencv_superres
opencv_xobjdetect
opencv_xphoto
opencv_bgsegm
opencv_bioinspired
opencv_dpm
opencv_face
opencv_features2d
opencv_line_descriptor
opencv_saliency
opencv_text
opencv_calib3d
opencv_ccalib
opencv_datasets
opencv_rgbd
opencv_stereo
opencv_tracking
opencv_videostab
opencv_xfeatures2d
opencv_ximgproc
opencv_aruco
opencv_optflow
opencv_phase_unwrapping
opencv_stitching
opencv_structured_light
Еще одна возможная ошибка:
Она разрешается добавлением библиотеки Comdlg32. Для этого просто добавьте Comdlg32 в Linker Settnigs.
Теперь, если во время компиляции программы ошибок не возникло, можно запустить программу. Если Вы использовали пример программы из моей статьи, должно получиться что-то вроде этого:

Update
Уже после написания данной статьи я обнаружил еще пару ошибок типа undefined reference to. Ниже приведены списки ошибок и библиотеки, которые необходимо добавить чтобы исправить ситуацию.
Отсутствие подключенной библиотеки Ole32 вызывает следующие ошибки:
undefined reference to `__imp_CoTaskMemFree’
undefined reference to `__imp_CoCreateInstance’
undefined reference to `__imp_CoCreateInstance’
Отсутствие подключенной библиотеки OleAut32 вызывает следующую ошибку:
undefined reference to `__imp_OleCreatePropertyFrame’
Отсутствие подключенной библиотеки uuid вызывает следующие ошибки:
undefined reference to `IID_IPersistStream’
undefined reference to `IID_IUnknown’
undefined reference to `IID_ISpecifyPropertyPages’
undefined reference to `IID_IPropertyBag’
Отсутствие подключенной библиотеки Vfw32 или Avifil32 вызывает следующие ошибки:
undefined reference to `AVIStreamRelease’
undefined reference to `AVIFileRelease’
undefined reference to `AVIFileOpenA’
undefined reference to `AVIFileCreateStreamA’
undefined reference to `AVISaveOptions’
undefined reference to `AVIMakeCompressedStream’
undefined reference to `AVIStreamSetFormat’
undefined reference to `AVIStreamWrite’
Не забудьте подключить их в своем Code::Blocks! 
Update: не работает чтение avi файла
Если при использовании cv::VideoCapture возникли проблемы, а именно OpenCV не хочет открывать видео файлы, то вам просто необходимо скопировать в папку со своей программой dll библиотеку opencv_ffmpeg (в моем случае она называется opencv_ffmpeg320_64.dll, версия opencv 3.2, находилась тут: opencv-3.2.0buildinstallx64mingwbin).
Установка OpenCV для новичка может показаться очень сложным занятием, так как вероятность столкнуться с ошибками велика, а знаний, чтобы понять что к чему еще не так много. Надеюсь, данная статья поможет всем, кто только начинает программировать, и сэкономит Вам пару дней или недель поисков в интернете. И напоследок. Может быть, Вы задаетесь вопросом, сколько же нужно времени, чтобы стать тру специалистом? Ответ на этот вопрос есть под спойлером.
Источник
I’ve been trying to install both OpenCV and cv2 from both Pycharm and from the terminal as suggested using:
pip install --user opencv
pip install --user cv2
but I’m getting the following error for them:
Collecting opencv
Could not find a version that satisfies the requirement opencv (from versions: )
No matching distribution found for opencv
and
Collecting cv2
Could not find a version that satisfies the requirement cv2 (from versions: )
No matching distribution found for cv2
How can I fix these and install the packages properly? I’m using python 3.4.
asked Jun 12, 2016 at 15:54
1
You are getting those errors because opencv and cv2 are not the python package names.
These are both included as part of the opencv-python package available to install from pip.
If you are using python 2 you can install with pip:
pip install opencv-python
Or use the equivilent for python 3:
pip3 install opencv-python
After running the appropriate pip command your package should be available to use from python.
answered Jan 31, 2018 at 1:40
Ryan GuestRyan Guest
5,8902 gold badges32 silver badges39 bronze badges
3
This the correct command that you need to install opencv
pip install opencv-python
if you get any error when you are trying to install the «opencv-python» package in pycharm, make sure that you have added your python path to ‘System Variables‘ section of Environment variables in Windows.
And also check whether you have configured a valid interpreter for your project
answered Apr 5, 2020 at 6:37
![]()
I ran into the same problem. One issue might be OpenCV is created for Python 2.7, not 3 (not all python 2.7 libraries will work in python 3 or greater). I also don’t believe you can download OpenCV directly through PyCharm’s package installer. I have found luck following the instructions: OpenCV Python. Specifically:
- Downloading and installing OpenCV from SourceForge
- Copying the cv2.pyd file from the download (opencvbuildpython2.7×64) into Python’s site-packages folder (something like: C:Python27Libsite-packages)
- In PyCharm, open the python Console (Tools>Python Console) and type:
import cv2, and assuming no errorsprint cv2.__version__
Alternatively, I have had luck using this package opencv-python, which you can straightforwardly install using pip with pip install opencv-python
Good luck!
answered Sep 3, 2016 at 15:31
mdoc-2011mdoc-2011
2,5874 gold badges20 silver badges42 bronze badges
python3.6 -m pip install opencv-python
will install cv2 in python3.6 branch
answered Jun 13, 2018 at 9:47
vishalvishal
7757 silver badges15 bronze badges
0
On Windows:
!pip install opencv-python
![]()
Neuron
4,8345 gold badges35 silver badges54 bronze badges
answered Jun 16, 2020 at 4:24
1
Try this. I am using Jupyter notebook (OS: Ubuntu 16.04 LTS on Google Cloud Platform + on Windows). Executed following command in the Jupyter notebook to install opencv:
!pip install opencv-contrib-python #working on both Windows and Ubuntu
After successful installation you will get following message:
Successfully installed opencv-contrib-python-4.1.0.25
Now restart the kernel and try to import opencv as:
import cv2
The same command can be used to installed opencv on Windows as well.
SOLUTION 2: try following commands to install opencv:
For Ubuntu:
Run following command from terminal:
sudo apt-get install libsm6 libxrender1 libfontconfig1
Restart Jupyter notebook kernel and execute following command:
!pip install opencv-contrib-python
NOTE: You can run all the above commands from the terminal as well without using ‘!’.
answered Jul 26, 2019 at 3:50
![]()
Keep it simple and just run.
pip install opencv-python
This is the simplest way of installing opencv.
If you still face issue, create a virtual environment and try installing opencv.
![]()
Neuron
4,8345 gold badges35 silver badges54 bronze badges
answered Sep 15, 2021 at 15:23
2
here is a tutorial that worked for me without any problem.
Copied from the site above the important part:
Download the OpenCV version corresponding to your Python installation
from here. In my case, I’ve used
opencv_python-3.1.0-cp35-cp35m-win32.whl.Now, open a cmd window like before. You can open this directly in your
Downloads folder if you SHIFT and right click inside it. The idea is
to open a cmd window where you’ve downloaded the above […] file. Use
the […] command to install […] OpenCV:1 pip install "opencv_python-3.1.0-cp35-cp35m-win32.whl"
Additional note: don’t forget to change the name of the downloaded file in the command you use.
Apparently by installing opencv, you’ll have access to cv2 too.
answered Dec 20, 2016 at 12:08
JuditJudit
392 bronze badges
Installing opencv is not that direct.
You need to pre-install some packages first.
I would not recommend the unofficial package opencv-python. Does not work properly in macos and ubuntu (see this post). No idea about windows.
There are many webs explaining how to install opencv and all required packages.
For example this one.
The problem of trying to install opencv several times is that you need to uninstall completely before attempting again, or you might end having many errors.
answered Apr 11, 2017 at 14:46
![]()
daniel_hckdaniel_hck
1,0602 gold badges19 silver badges38 bronze badges
you must install opencv-python
pip/pip3 install opencv-python
if you try import opencv-python, receive error.
Fix this error, use the import cv2
answered May 12, 2019 at 11:12
![]()
How about try some different mirrors?
If you are in China, I highly recommend you try:
sudo pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ opencv-contrib-python
If not, just replace the url address to some other mirrors you like!
Good luck.
answered Jul 24, 2019 at 6:04
![]()
First step:
pip uninstall numpy
pip uninstall opencv-python
Second step:
pip install numpy
pip install opencv-python
answered Feb 7, 2021 at 7:25
![]()
Furkan GulsenFurkan Gulsen
1,2242 gold badges10 silver badges22 bronze badges
I had the same problem. Here are the steps for Windows 10 users.
Open CMD: win+r then type cmd. Now,
- Type
pip install virtualenv - Create a Virtual Environment, Type
virtualenv testopencv - Get Inside testopencv, Type
cd testopencv - Activate the Virtual Environment, Type
.Scriptsactivate - Now Install Opencv, Type
pip install opencv-contrib-python --upgrade - Let’s test Opencv, Type
Pythonthenimport cv2hit enter then typeprint(cv2.__version__)to check if its installed
Now, open a new cmd, win + r then type cmd, repeat step 6. If it gives you an error.
Go inside the testopencv folder, inside lib. Copy everything, go to your python directory, inside lib folder paste it and skip that are already present.
Again open a new cmd, repeat Step 6.
Hope it helps.
answered Jan 7, 2020 at 7:37
![]()
Debu ShinobiDebu Shinobi
1,75816 silver badges20 bronze badges
In jetso nano this work for me.
$ git clone https://github.com/JetsonHacksNano/buildOpenCV
$ cd buildOpenCV
![]()
4b0
21.4k30 gold badges95 silver badges139 bronze badges
answered Mar 30, 2020 at 11:42
![]()
When I was facing this issue I used to install OpenCV in pycharm installed package panel where we can find under the settings tab. Search «OpenCV-python» and install it in the installed package panel of right interpreter.
answered May 8, 2020 at 15:18
![]()
Hashan MalawanaHashan Malawana
3431 gold badge2 silver badges10 bronze badges
First run from cmd
pip --version
to make sure that you have the updated version installed.
Then run
pip install opencv-python
answered Jun 29, 2021 at 5:13
![]()
Go through with this link: https://learnopencv.com/install-opencv-4-on-raspberry-pi/
you can install OpenCV perfectly with out any error. but the problem was it will take lot of time to install.
I had used pi3 model B+ with 32GB class10 SD card for me it took more than 12 hours for complete installation.
answered Jul 25, 2021 at 7:01
If you still find any error to install open-cv in your mac, try this:
opencv-python==4.2.0.34
This worked for me.
answered May 2, 2022 at 22:28
![]()
OpenCV Installation Troubleshooting Guide
[Revised 2011-08-29. See Change Log section for revision information.]This guide lists solutions for problems you might encounter when installing OpenCV and its dependencies. Many of the problems are related to using webcams. This guide is a companion guide to “A Comprehensive Guide to Installing and Configuring OpenCV 2.3 on Ubuntu,” which can be found on ozbotz.org.The problems are listed in the sequence that they might occur during a typical OpenCV install. If the problem is accompanied by an error message, the relevant part of the message is highlighted in yellow.
Here is a list of error messages that are addressed by this guide:
- ERROR: libx264 not found
- undefined reference to ‘x264_encoder_open_116’
- libv4lconvert-priv.h:25:21: fatal error: jpeglib.h: No such file or directory
- libv4l1.c:53:28: fatal error: linux/videodev.h: No such file or directory
- /home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:492:13: error: ‘CODEC_TYPE_VIDEO’ was not declared in this scope
- libv4lconvert: warning more framesizes then I can handle!
- [swscaler @ 0x89c3e30]No accelerated colorspace conversion found from yuv420p to bgr24.
- error while loading shared libraries: libopencv_core.so.2.3: cannot open shared object file: No such file or directory
- VIDIOC_DQBUF: Input/output error
- VIDIOC_QUERYMENU: Invalid argument
Problems Building ffmpeg
Problem
<84> .../ffmpeg$ ./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
ERROR: libx264 not found
Solution
Use ffmpeg version 0.7.x. This error occurs if you configure ffmpeg version 0.6.x with the options shown above.
Problem
<84> .../ffmpeg$ makeSolution
LD ffmpeg_g
libavcodec/libavcodec.a(libx264.o): In function `X264_init':
/home/osman/src/ffmpeg/ffmpeg-0.7.3/libavcodec/libx264.c:395: undefined reference to 'x264_encoder_open_116'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1
Rebuild x264 and ffmpeg with the shared library option. To rebuild x264, change to the directory where you untared the x264 source files, and enter the following commands:
./configure --enable-shared --enable-pic
make
sudo make install
To rebuild ffmpeg, change to the directory where you untared the ffmpeg source files, and enter the following commands:
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-shared
make
sudo make install
This solution comes from http://www.linuxquestions.org/questions/linux-newbie-8/problem-with-enable-libx264-option-in-ffmpeg-822156/page2.html.
Problems Building v4l
Problem
<37> .../v4l-utils-0.8.4 $ makeSolution
make -C lib all
make[1]: Entering directory `/home/osman/src/v4l/v4l-utils-0.8.4/lib'
make -C libv4lconvert all
make[2]: Entering directory `/home/osman/src/v4l/v4l-utils-0.8.4/lib/libv4lconvert'
cc -Wp,-MMD,"libv4lconvert.d",-MQ,"libv4lconvert.o",-MP -c -I../include -fvisibility=hidden -fPIC -DLIBDIR="/usr/local/lib" -DLIBSUBDIR="libv4l" -I../../include -I../../lib/include -D_GNU_SOURCE -DV4L_UTILS_VERSION='"0.8.4"' -g -O1 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -o libv4lconvert.o libv4lconvert.c
In file included from libv4lconvert.c:26:0:
libv4lconvert-priv.h:25:21: fatal error: jpeglib.h: No such file or directory compilation terminated.
make[2]: *** [libv4lconvert.o] Error 1
Install libjpeg. See “A Comprehensive Guide to Installing and Configuring OpenCV 2.3 on Ubuntu.”
Problem
<37> .../v4l-utils-0.8.4 $ make
...
cc -Wp,-MMD,"libv4l1.d",-MQ,"libv4l1.o",-MP -c -I../include -fvisibility=hidden -fPIC -I../../include -D_GNU_SOURCE -g -O1 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -o libv4l1.o libv4l1.c
libv4l1.c:53:28: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
make[2]: *** [libv4l1.o] Error 1
Solution
Use v4l-utils-0.8.4 or later. This problem occurs when trying to compile an old version of v4l in Ubuntu 11.x. I have not seen this problem on Ubuntu 10.x.
Problems Building OpenCV
Problem
Make fails at around 30% with an error building cap_ffmeg.o. This error might look like this:
[ 29%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o
In file included from /home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg.cpp:45:0:
/home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function ‘bool CvCapture_FFMPEG::reopen()’:
…
/home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:492:13: error: ‘CODEC_TYPE_VIDEO’ was not declared in this scope
...
/home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:828:10: error: ‘AVERROR_NUMEXPECTED’ was not declared in this scope
/home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:832:10: error: ‘AVERROR_NOFMT’ was not declared in this scope
/home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:834:10: error: ‘AVERROR_IO’ was not declared in this scope
/home/osman/src/opencv/OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp:836:10: error: ‘AVERROR_NOMEM’ was not declared in this scope
Solution
Install ffmpeg version 0.7.x. You are probably have version 0.8.x installed, which is not compatible with OpenCV 2.3.
Problems running a program using OpenCV libraries
Problem
$ ./my_webcam_program
libv4lconvert: warning more framesizes then I can handle!
Solution
Install v4l version 0.8.4 or later, and then run sudo ldconfig. Rerun your program; the message should go away. Note: I don’t really know in what version of v4l this was fixed, but I do know that it is fixed in version 0.8.4.
Problem
$ ./my_webcam_program
[swscaler @ 0x89c3e30]No accelerated colorspace conversion found from yuv420p to bgr24.
[swscaler @ 0x8893810]No accelerated colorspace conversion found from yuv420p to bgr24.
[swscaler @ 0x889c5b0]No accelerated colorspace conversion found from yuv420p to bgr24.
Last message repeated 1 times
Solution
The “accepted” solution is to rebuild x264 and ffmpeg with the shared library option. To rebuild x264, change to the directory where you untared the x264 source files, and enter the following commands:
./configure --enable-shared --enable-pic
make
sudo make install
To rebuild ffmpeg, change to the directory where you untared the ffmpeg source files, and enter the following commands:./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-shared
make
sudo make install
After rebuilding x264 and ffmpeg, you do not need to rebuild OpenCV. If the swscaler message still occurs when you run your program, run sudo ldconfig, and run your program again.
This solution comes from the following thread on ubuntuforums.org: http://ubuntuforums.org/showthread.php?t=1471616
Unfortunately for me, configuring and recompiling x264 and ffmpeg does not make the warning meesage go away. If try the solution above, please let me know in the comments if it works for you.
Problem
$ ./my_webcam_program
error while loading shared libraries: libopencv_core.so.2.3: cannot open shared object file: No such file or directory
Solutions (choose one)
1. Complete the “Configure Linux” step of the guide “A Comprehensive Guide to Installing and Configuring OpenCV 2.3 on Ubuntu.”
2. Set your LD_LIBRARY_PATHenvironment variable, as shown in the following example:export LD_LIBRARY_PATH=/usr/local/libReplace /usr/local/lib with the path where the OpenCV libraries are installed on your system.
Problem
VIDIOC_DQBUF: Input/output error
libv4l2: error converting / decoding frame data: v4l-convert: libjpeg error: Start Of Frame 0xc0: width=640, height=480, components=175
VIDIOC_DQBUF: Input/output error
libv4l2: error converting / decoding frame data: v4l-convert: libjpeg error: End Of Image
Solution
Make sure that your webcam is connected to a high-speed USB 2.0 port. I have seen this problem occur when my webcam was connected to a slower full-speed USB port.
Problem
<19> .../test1 $ ./my_webcam_program
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
Solution
I have not found a solution to this problem. If you know a solution, please let me know! The message is coming from v4l. The message occurs when a webcam is initialized. I think that my webcam, a Logitech C910, does not conform to the UVC specification, and v4l has trouble querying the parameters of the webcam. I can still get frames from the webcam, so I just ignore the message.
Change Log
- 2011-08-29 Added solution for ffmpeg make error
undefined reference to 'x264_encoder_open_116'
References
- A Comprehensive Guide to Installing and Configuring OpenCV 2.3 on Ubuntu
|
Семан 1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
||||
|
1 |
||||
|
11.11.2016, 12:41. Показов 2480. Ответов 12 Метки нет (Все метки)
День добрый. снизу в окошке CMAKE ошибки:
Qt у меня MinGW скомпилированный на VS, стандартный с сайта скачал.
__________________
0 |
|
Заблокирован |
||||
|
11.11.2016, 13:10 |
2 |
|||
|
Вот тебе пример правильного проекта на OpenCV, так в main.cpp подмени путь src = imread( «C:/TAIS/johovich.jpg»); на путь к какой — нибуть своей картинке, в PRO файле укажи пути к своим библиотекам OpenCV. Код win32:CONFIG(release, debug|release): LIBS += -L$$SRC_ROOT_DIR/OpenCV/lib/ -lopencv_world310 else:win32:CONFIG(debug, debug|release): LIBS += -L$$SRC_ROOT_DIR/OpenCV/lib/ -lopencv_world310d INCLUDEPATH += $$SRC_ROOT_DIR/OpenCV/include DEPENDPATH += $$SRC_ROOT_DIR/OpenCV/include Я бы тебе целиком скинул бы, но тут нельзя большие файлы прикреплять, сам OpenCV не влезает. PRO FILE: Кликните здесь для просмотра всего текста Код TEMPLATE = app CONFIG += console c++11 CONFIG -= app_bundle CONFIG -= qt SOURCES += main.cpp win32:CONFIG(release, debug|release): LIBS += -L$$SRC_ROOT_DIR/OpenCV/lib/ -lopencv_world310 else:win32:CONFIG(debug, debug|release): LIBS += -L$$SRC_ROOT_DIR/OpenCV/lib/ -lopencv_world310d INCLUDEPATH += $$SRC_ROOT_DIR/OpenCV/include DEPENDPATH += $$SRC_ROOT_DIR/OpenCV/include main.cpp: Кликните здесь для просмотра всего текста
да, и не забудь в main.cpp так же includ-ы на путь к своей CV указать
0 |
|
Семан 1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
||||
|
11.11.2016, 14:03 [ТС] |
3 |
|||
|
я честно говоря первый раз подключаю библиотеки через .pro файл, вот скриншот с файлами OpenCV надеюсь правильно скачал вот путь по которому он расположен C:OpenCVdell Код QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = test1
TEMPLATE = app
SOURCES += main.cpp
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
win32:CONFIG(release, debug|release): LIBS += -L$$SRC_ROOT_DIR/OpenCV/lib/ -lopencv_world310
else:win32:CONFIG(debug, debug|release): LIBS += -L$$SRC_ROOT_DIR/OpenCV/lib/ -lopencv_world310d
INCLUDEPATH += C:OpenCVdellinclude
DEPENDPATH += C:OpenCVdellinclude
мне кажется я делаю какую то глупую ошибку, в какие папки пути указывать?
0 |
|
Заблокирован |
|
|
11.11.2016, 14:18 |
4 |
|
вот скриншот с файлами OpenCV надеюсь правильно скачал хрень какая — то, отсюда качать надо https://sourceforge.net/projec… e/download
C:OpenCVdellincludeopencvhighgui.h:45: ошибка: opencv2/core/core_c.h: No such file or directory ну так проверь каталог — то, видишь, пишет — нету файла такого, сходи по этим путям и проверь, там ли он
0 |
|
Семан 1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
||||||||
|
11.11.2016, 14:53 [ТС] |
5 |
|||||||
|
вот такой файл .pro
вот mail.cpp
ошибки такие
0 |
|
Заблокирован |
|
|
11.11.2016, 15:13 |
6 |
|
undefined reference to `cv::Mat::deallocate()’ У тебя mingGW? Напомни ка, что такое «undefined reference to» в minGW, это unresolved external ? Добавлено через 2 минуты
0 |
|
1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
|
|
11.11.2016, 15:17 [ТС] |
7 |
|
OpenCV скачал оттуда откуда ты кинул, компиль у меня mingGW, да скорее всего надо 32 битовую качнуть, может из-за этого проблемма
0 |
|
Заблокирован |
|
|
11.11.2016, 15:19 |
8 |
|
да скорее всего надо 32 битовую качнуть, может из-за этого проблемма вот вот, т.к. если ты ставил комплект Qt на minGW с официального сайта, то там 100% идёт minGW x86
0 |
|
Семан 1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
||||
|
11.11.2016, 15:22 [ТС] |
9 |
|||
|
даже с такими либами от 32 битной
те же ошибки
0 |
|
Заблокирован |
|
|
11.11.2016, 15:27 |
10 |
|
шеф, всё пропало
0 |
|
1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
|
|
11.11.2016, 15:29 [ТС] |
11 |
|
0 |
|
Заблокирован |
|
|
11.11.2016, 15:45 |
12 |
|
вот)) Что это за пурклапа?
0 |
|
1 / 1 / 1 Регистрация: 13.03.2012 Сообщений: 424 |
|
|
11.11.2016, 15:58 [ТС] |
13 |
|
ну проект будет серьезный, но для начало мне нужно подключить openCV, а для этого я создал тестовый проект
0 |
1. Установка opencv под pycharm
Терминальный ввод под pycharm
pip install opencv-python
Вы также можете скачать расширенную версию
pip install opencv-contrib-python
[Если вы не добавляли источник pip, проигнорируйте эту статью] Друзья, добавившие внутренний источник pip, не забудьте добавить его после командной строки (следующий пример — источник pip Tsinghua)
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
Если загрузка не удалась, это может быть проблема с сетью или проблема не в изменении источника pip.
Об изменении источника pip в другой моей ссылке в блоге:https://blog.csdn.net/Y15072309119/article/details/104678002
Импортируйте каталог фреймворка после успешной установки
import cv2
2. «cv2». Решение проблем без подсказки кода
1. Найдите соответствующий питонпапка site-packages
Введите следующую команду в командной строке
python -m site

Затем перейдите в соответствующую папку, чтобы найти папку
2. Найдите _init_.py в папке cv2 в папке site-packages, откройте и измените его следующим образом
import sys
import os
import importlib
os.environ["PATH"] += os.pathsep + os.path.dirname(os.path.realpath(__file__))
from .cv2 import *
from .data import *
# wildcard import above does not import "private" variables like __version__
# this makes them available
globals().update(importlib.import_module('cv2.cv2').__dict__)
Затем перезапустите pycharm ~~~
Дайте вам рендеры Кангкан

Надеюсь, это поможет тебе
Я пытался установить как OpenCV, так и cv2 как из Pycharm, так и из терминала, как было предложено использовать:
pip install --user opencv
pip install --user cv2
но я получаю для них следующую ошибку:
Collecting opencv
Could not find a version that satisfies the requirement opencv (from versions: )
No matching distribution found for opencv
а также
Collecting cv2
Could not find a version that satisfies the requirement cv2 (from versions: )
No matching distribution found for cv2
Как я могу исправить эти ошибки и правильно установить пакеты? Я использую python 3.4.
12 июнь 2016, в 18:43
Поделиться
Источник
5 ответов
Вы получаете эти ошибки, потому что opencv и cv2 не являются именами пакетов python.
Они оба включены как часть пакета opencv-python, доступного для установки из pip.
Если вы используете python 2, вы можете установить с помощью pip:
pip install opencv-python
Или используйте equivilent для python 3:
pip3 install opencv-python
После запуска соответствующей команды pip ваш пакет должен быть доступен для использования с python.
Ryan Guest
31 янв. 2018, в 02:44
Поделиться
Я столкнулся с той же проблемой. Одной из проблем может быть создание OpenCV для Python 2.7, а не 3 (не все библиотеки python 2.7 будут работать в python 3 или выше). Я также не считаю, что вы можете загрузить OpenCV напрямую через установщик пакетов PyCharm. Я нашел удачу в соответствии с инструкциями: OpenCV Python. В частности:
- Загрузка и установка OpenCV из SourceForge
- Копирование файла cv2.pyd из файла загрузки (opencvbuildpython2.7×64) в папку сайта Python (что-то вроде: C:Python27Libsite-packages)
- В PyCharm откройте консоль python (Tools> Python Console) и введите:
import cv2и не допуская ошибок.print cv2.__version__
Кроме того, мне посчастливилось использовать этот пакет opencv-python, который вы можете прямо установить с помощью pip с pip install opencv-python
Удачи!
mdoc-2011
03 сен. 2016, в 17:01
Поделиться
вот учебник, который работал для меня без каких-либо проблем.
Скопировано с сайта над важной частью:
Скачать версию OpenCV, соответствующую вашей установке Python из здесь. В моем случае Ive использовал opencv_python-3.1.0-cp35-cp35m-win32.whl.
Теперь откройте окно cmd, как раньше. Вы можете открыть его прямо в папке «Загрузка», если вы SHIFT и щелкните правой кнопкой мыши внутри него. Идея состоит в том, чтобы открыть окно cmd, где вы загрузили указанный выше файл […]. Используйте команду […] для установки […] OpenCV:
1 pip install "opencv_python-3.1.0-cp35-cp35m-win32.whl"
Примечание: не забудьте изменить имя загруженного файла в используемой вами команде. Очевидно, установив opencv, вы также получите доступ к cv2.
Judit
20 дек. 2016, в 13:21
Поделиться
Установка opencv не является прямой. Сначала вам нужно предварительно установить некоторые пакеты.
Я бы не рекомендовал неофициальный пакет opencv-python. Не работает должным образом в macos и ubuntu (см. Этот пост). Не знаю о окнах.
Существует множество веб-страниц, в которых объясняется, как установить opencv и все необходимые пакеты. Например, этот.
Проблема с попыткой установки opencv несколько раз состоит в том, что вам нужно полностью удалить все, прежде чем пытаться снова, или вы можете потерять много ошибок.
daniel
11 апр. 2017, в 16:34
Поделиться
python3.6 -m pip install opencv-python
установит cv2 в ветке python3.6
vishal
13 июнь 2018, в 10:00
Поделиться
Ещё вопросы
- 1Вставка значения Python для данных в столбец таблицы базы данных
- 1Как добавить ускорение к скорости?
- 1Установить значок изображения JFrame
- 0Передача параметров для ng-click вызывает ошибку разбора при использовании специального символа
- 0Использование функции getchar ()
- 1Хорошие настройки AVD для тестирования устройств с большим экраном с Android SDK?
- 0Вычислить столбцы, есть ли лучшие способы, чем мой подзапрос
- 0Место в памяти для указателя, переданного в функцию, удаляется
- 0CFile :: Удалить, удалить файл из каталога, но файл недоступен
- 1Python: извлечь столбец данных из нескольких текстовых файлов
- 1Копирование lastRow в форме, отправленной на другой лист на основе ответа, предоставленного в форме
- 1Столбчатая диаграмма D3 без свойства Time
- 1Вертикальная автопрокрутка TextView
- 1обновить таблицу в андроид
- 0C ++ Pointer help отсутствует список аргументов, использование & Account :: getBalance
- 1Как узнать, что содержимое HttpResponse является строкой или потоком
- 0Функция MySQL ‘HEX’ в H2 / Derby / HSQL
- 1Импорт / экспорт списка .csv
- 0Различные проблемы при просмотре веб-сайта на Iphone; веб-сайт не центрирован и нижний колонтитул не охватывает нижнюю часть
- 0Слайдер не показывает заголовки для сгенерированных клонов
- 1показать MediaController
- 1C # EXAM Концептуальное руководство
- 0Создать новую позицию модуля в Joomla 3
- 1Изменение атрибутов точки соединения NTFS
- 1Фреймворк Qt похож на Titanium?
- 0Диалог выбора
- 0Моя директива использует изолированную область, но все еще выбирает данные из области контроллера
- 1Свернуть lmfit с помощью ValueError: слишком большой массив
- 0Как я могу разрабатывать игры на устройствах Android
- 0поместите значение html checkbox в текстовое поле
- 0Power bi в Mysql на локальном хосте
- 1Итерация по набору данных для получения дочерних строк
- 0Запрос Sql для выбора самых последних в одной или многих отношениях двух таблиц
- 1модульное тестирование атрибутов валидатора dataannotations
- 1Интеграция YouTube API v3 .NET
- 1Перекрасить JPanel при нажатии клавиши. (Ява)
- 0Создается только первое динамически генерируемое поле выбора
- 0Как получить результаты из базы данных при наборе и сопоставлении всех данных?
- 1Почему невозможно использовать класс PackageManager из компонента Brokered WinRT?
- 0PrezentDoctrineTranshableBundle без резервной локали
- 1Как создать связанные мультиселектные блоки в extjs classic 6
- 1Что-то не так с моей панелью таймера
- 1Детализированный объект Spring-Data на дочернем объекте
- 0Попытка доступа к байтовому массиву в C # из C ++ Dll
- 1Bs4 Сохранить список, исключая одного ребенка
- 0Что такое метод шифрования пароля в Joomla 1.5.26?
- 0HTML / CSS страница входа проблемы со стилем в IE не работает
- 1Преобразование между SQL Real и .NET double
- 0Как распечатать содержимое очереди
- 1невозможно загрузить ресурсный javascript с относительным путем $ {pageContext.request.contextPath}


Я думал у тебя какой — то серьёзный проект…