Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use OpenCV in Python?

I have just installed OpenCV on my Windows 7 machine. As a result, I get a new directory:

C:\OpenCV2.2\Python2.7\Lib\site-packages

In this directory, I have two files: cv.lib and cv.pyd.

Then I try to use the opencv from Python. I do the following:

import sys sys.path.append('C:\OpenCV2.2\Python2.7\Lib\site-packages') import cv 

As a result I get the following error message:

File "<stdin>", line 1, in <module> ImportError: DLL load failed: The specified module could not be found. 

What am I doing wrong?

ADDED

As it was recommended here, I have copied content of C:\OpenCV2.0\Python2.6\Lib\site-packages to the C:\Python26\Lib\site-packages. It did not help.

ADDED 2

My environment variables have the following values:

Path=C:\Program Files\MiKTex\miktex\bin;C:\OpenCV2.2\bin;C:\Python26; PYTHONPATH=C:\OpenCV2.2\Python2.7\Lib\site-packages 

Do I need to change something? Do I need to add something?

ADDED 3

I think my question is general: How to use a library? Probably I need to find a *.ddl file somewhere? Then I need to use the name of the directory containing this file as a value to some environment variables? Or maybe I need to use sys.addpath? I also need to know how the way to call the library is related to the name of the file that contains the library.

ADDED 4

It is interesting that when I type import cv, I get:

ImportError: DLL load failed: The specified module could not be found. 

But when I type import opencv I get:

ImportError: No module named opencv 

ADDED 5

It has been suggested that I usthe e inconsistent version of python. In more details, OpenCV tries to use Python2.7 and I had Python2.6. So, I have installed Python 2.7. It makes difference. Now I do not have the old error message, but I have a new one:

ImportError: numpy.core.multiarray failed to import Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: numpy.core.multiarray failed to import 

ADDED 6

I have managed to resolve the problem by installing numpy. It took some time because I did not realized that there are different numpy installer corresponding to different versions of Python. Some details can be found in my answer to my own question (see bellow).

like image 410
Roman Avatar asked Feb 17 '11 14:02

Roman


People also ask

How can we use OpenCV?

Introduction. OpenCV is a great tool for image processing and performing computer vision tasks. It is an open-source library that can be used to perform tasks like face detection, objection tracking, landmark detection, and much more. It supports multiple languages including python, java C++.

Is OpenCV-Python easy?

Getting started with OpenCV's Python bindings is actually much easier than many people make it out to be initially. You will need two main libraries, with an optional third: python-OpenCV , Numpy , and Matplotlib .


1 Answers

The problem was resolved. The following steps has been done:

  1. A new version of python (version 2.7) has been installed.
  2. After that I still was unable to run OpenCV because I had some problems with the numpy library.
  3. I tired to install numpy but the installer did not see my new version of the Python.
  4. I deleted the old version of Python as well as links to the old version in the Path system vatriable.
  5. After that numpy installer was not able to finish the installation.
  6. I have realized that I need to run another numpy installer that is associated with the Python 2.7. It can be found here.
  7. Finally everything worked. I was able to "import cv".
like image 135
Roman Avatar answered Sep 23 '22 19:09

Roman