Tuesday, May 23, 2017

OpenCV 3.2 and Dlib 19.4 Packages Now Available from Conda-Forge

Anaconda is an asset for us Machine Learning enthusiasts. Not only does it have the ability to create fully isolated Python environments, its pre-built packages for many operating systems and architectures helps you to spend less time setting up, and more time doing actual machine learning stuff.

In some scenarios, to get some Python packages to work in certain environments, getting them from Anaconda was the only way that worked. If you tried installing Dlib or OpenCV 3 on Windows 64-Bit, then you know the effort it takes to get them setup, if it wasn't for Anaconda.

OpenCV and Dlib working perfectly together, thanks to Conda
OpenCV and Dlib working perfectly together, thanks to Conda

If you check my posts on Installing Dlib on Anaconda Python on Windows, and Installing OpenCV 3 on Anaconda Python 3.5 on Windows, you know how easy it is to use conda to install them on Python 3.5 64-Bit on Windows.

But there was a catch: The Anaconda registry only had OpenCV 3.1 and Dlib 19.0 - not the latest versions.


Checking the change-logs for OpenCV 3.2, and Dlib 19.4, we were missing quite a lot of features and optimizations.

But, not anymore!

Conda-Forge has now added the conda packages for OpenCV 3.2 and Dlib 19.4.

These contain the packages for Windows, Linux, and Mac OS, for Python 2.7, 3.5, and 3.6, for 32-Bit and 64-Bit.

To install OpenCV 3.2, just run,
 conda install -c conda-forge opencv=3.2.0  

and, to install Dlib 19.4, just run,
 conda install -c conda-forge dlib=19.4  

So, now we have access to the latest versions of OpenCV and Dlib in almost any of the environments we want.

Build Deeper: Deep Learning Beginners' Guide is the ultimate guide for anyone taking their first step into Deep Learning.

Get your copy now!

10 comments:

  1. Hi Thimira,

    Thanks for your tutorial.
    I am struggling to install cv2. This is the error I am getting.
    CondaVerificationError: The package for qt located at C:\ProgramData\Anaconda2\pkgs\qt-5.6.2-vc9_1
    appears to be corrupted. The path 'Library/translations/qt_gl.qm'
    specified in the package manifest cannot be found.

    Can't seem to get cv2 installed, how can I troubleshoot this?

    ReplyDelete
    Replies
    1. Hi, please check the updated instructions on how to install here: https://www.codesofinterest.com/2019/05/installing-opencv-got-easier.html

      Delete
  2. make sure you install anaconda3 ver 4.4, newer versions are unable to install dlib. Use the following to install the latest opencv and dlib:
    conda install -c conda-forge opencv
    conda install -c conda-forge dlib

    ReplyDelete
    Replies
    1. The latest version of conda is now able to install dlib and opencv without a problem.

      Delete
  3. Hello, thanks for the tutorial.I would like to know which one would be better to use for Circle Like Shape Detection in Real_time. Dlib or OpenCV ?

    ReplyDelete
    Replies
    1. The deep learning based object detectors in the latest version of OpenCV would work better there.

      Delete
  4. worked with both but i find opencv more friendly

    ReplyDelete
    Replies
    1. Yep, OpenCV is more optimized towards computer vision algorithms, and the functions are made to be easy. Dlib on the other hand is a machine learning library, with a few computer vision algorithms built in. So it's a bit complicated to get things working on it than OpenCV.

      Delete
  5. When i copied and run like this.. it appears as the follows:..
    Could you please kindly help that how to solve this problem?


    (base) C:\Users\Kumar> conda install -c conda-forge opencv=3.2.0
    Collecting package metadata (current_repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    Collecting package metadata (repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    Solving environment: -
    Found conflicts! Looking for incompatible packages.
    This can take several minutes. Press CTRL-C to abort.
    failed

    UnsatisfiableError: The following specifications were found
    to be incompatible with the existing python installation in your environment:

    Specifications:

    - opencv=3.2.0 -> python[version='2.7.*|3.5.*|3.6.*']
    - opencv=3.2.0 -> python[version='>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|>=3.6,<3.7.0a0']

    Your python: python=3.7

    If python is on the left-most side of the chain, that's the version you've asked for.
    When python appears to the right, that indicates that the thing on the left is somehow
    not available for the python version you are constrained to. Note that conda will not
    change your python version to a different minor version unless you explicitly specify
    that.

    The following specifications were found to be incompatible with each other:



    Package setuptools conflicts for:
    opencv=3.2.0 -> python=3.6 -> pip -> setuptools
    python=3.7 -> pip -> setuptools
    Package msgpack-python conflicts for:
    opencv=3.2.0 -> python=3.6 -> pip -> cachecontrol -> msgpack-python
    Package wincertstore conflicts for:
    python=3.7 -> pip -> setuptools -> wincertstore[version='>=0.2']
    opencv=3.2.0 -> python=3.6 -> pip -> setuptools -> wincertstore[version='>=0.2']
    Package certifi conflicts for:
    opencv=3.2.0 -> python=3.6 -> pip -> requests -> certifi[version='>=2016.09|>=2016.9.26|>=2017.4.17']
    python=3.7 -> pip -> setuptools -> certifi[version='>=2016.09|>=2016.9.26']
    Package pip conflicts for:
    python=3.7 -> pip
    opencv=3.2.0 -> python=3.6 -> pip
    Package wheel conflicts for:
    python=3.7 -> pip -> wheel
    opencv=3.2.0 -> python=3.6 -> pip -> wheel
    Package ca-certificates conflicts for:
    python=3.7 -> openssl[version='>=1.1.1a,<1.1.2a'] -> ca-certificates
    opencv=3.2.0 -> python=3.6 -> ca-certificates

    ReplyDelete
    Replies
    1. Hi, please check the updated instructions on how to install here: https://www.codesofinterest.com/2019/05/installing-opencv-got-easier.html

      Delete