Hướng dẫn cài đặt opencv 4.1 2 trên windows

In previous OpenCV install tutorials I have recommended compiling from source; however, in the past year it has become possible to install OpenCV via pip, Python’s very own package manager.

While installing from source will give you the greatest control over your OpenCV configuration, it’s also the hardest and the most time-consuming.

Though not directly requiring a dataset, using a variety of images after installing OpenCV using pip can help verify the installation and understand the basics of the library.

Roboflow has free tools for each stage of the computer vision pipeline that will streamline your workflows and supercharge your productivity.

Sign up or Log in to your Roboflow account to access state of the art dataset libaries and revolutionize your computer vision pipeline.

You can start by choosing your own datasets or using our PyimageSearch’s assorted library of useful datasets.

Bring data in any of 40+ formats to Roboflow, train using any state-of-the-art model architectures, deploy across multiple platforms (API, NVIDIA, browser, iOS, etc), and connect to applications or 3rd party tools.

If you’re looking for the fastest possible way to install OpenCV on your system, you want to use pip to install OpenCV (but there are a few things that may trip you up along the way, so make sure you read the rest of this guide).

2019-11-21 Update: An update has been issued to this blog post due to compatibility issues with OpenCV on the Raspberry Pi 4 running BusterOS using this pip install method. Be sure to find the updates via

$ sudo pip install opencv-contrib-python

1 as you search for “2019-11-21 Update”.

To learn how to pip install OpenCV on your system, just keep reading.

In the remainder of this tutorial, I’ll briefly describe the OpenCV packages you can install via pip, Python’s package manager.

From there, I’ll demonstrate how to pip install OpenCV on Ubuntu, macOS, and the Raspberry Pi.

Finally, I’ll review some common problems you may encounter when using pip to install OpenCV.

I’d like to point out an important caveat to this OpenCV installation method before we begin.

The PyPi/PiWheels hosted versions of OpenCV that we’re discussing today do not include “non-free” algorithms such as SIFT, SURF, and other patented algorithms. This is a great method to install OpenCV if you need a quick environment in which you won’t need to run programs containing the non-free algorithms — if that’s not the case, you’ll need to complete a full compile of OpenCV.

The two pip OpenCV packages:

$ sudo pip install opencv-contrib-python

2 and

$ sudo pip install opencv-contrib-python

3

Before we get started I want to remind you that the methods I’m coming here today are unofficial pre-built OpenCV packages that can be installed via pip — they are not official OpenCV packages released by OpenCV.org.

Just because they are not official packages doesn’t mean you should feel uncomfortable using them, but it’s important for you to understand that they are not endorsed and supported directly by the official OpenCV.org team.

All that said — there are four OpenCV packages that are pip-installable on the PyPI repository:

  1. opencv-python: This repository contains just the main modules of the OpenCV library. If you’re a PyImageSearch reader you do not want to install this package.
  2. opencv-contrib-python: The opencv-contrib-python repository contains both the main modules along with the contrib modules — this is the library I recommend you install as it includes all OpenCV functionality.
  3. opencv-python-headless: Same as opencv-python but no GUI functionality. Useful for headless systems.
  4. opencv-contrib-python-headless: Same as opencv-contrib-python but no GUI functionality. Useful for headless systems.

Again, in the vast majority of situations you will want to install

$ sudo pip install opencv-contrib-python

3 on your system.

You DO NOT want to install both

$ sudo pip install opencv-contrib-python

2 and

$ sudo pip install opencv-contrib-python

3 — pick ONE of them.

How to pip install OpenCV on Ubuntu

You have two options to install OpenCV on Ubuntu with pip:

  1. Install into your system $ sudo pip install opencv-contrib-python 7
  2. Install into a virtual environment’s $ sudo pip install opencv-contrib-python 7 (preferred)

First, install some OpenCV dependencies on Ubuntu

We need to refresh/upgrade the pre-installed packages/libraries with the apt-get package manager:

$ sudo apt-get update $ sudo apt-get upgrade

Followed by installing two required packages:

$ sudo apt-get install python3-dev $ sudo apt-get install libgl1-mesa-glx

Next, install pip

If you don’t have pip, you’ll need to obtain it first:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

Option A: Install OpenCV to your Ubuntu system with pip

I wouldn’t recommend this method unless you have a particular use case where you don’t want isolated, independent Python environments.

Let’s pip install opencv-contrib-python on our system:

$ sudo pip install opencv-contrib-python

In a matter of seconds, OpenCV is ready to go in your system’s site-packages!

Option B: Install OpenCV on Ubuntu into a virtual environment with pip

There are huge benefits to Python virtual environments.

The main benefit is that you can develop multiple projects on your system with isolated packages (many with version dependencies) without having to muddy the waters of your system. You’re also free to add and remove virtual environments as you go.

Put simply: Python virtual environments are a best practice for Python development. Chances are, you should jump on the bandwagon.

My tools of choice are

$ sudo pip install opencv-contrib-python

9 and

$ pip install virtualenv virtualenvwrapper

0 but you could choose an alternative such as venv or Anaconda (conda for short).

Here’s how to install

$ sudo pip install opencv-contrib-python

9 and

$ pip install virtualenv virtualenvwrapper

0 , both of which will live in your system

$ sudo pip install opencv-contrib-python

7 and manage each project’s virtual environment site-packages:

$ pip install virtualenv virtualenvwrapper

Before we can continue, you first need to add some lines to your

$ pip install virtualenv virtualenvwrapper

4 profile. Open the file using

$ pip install virtualenv virtualenvwrapper

5 ,

$ pip install virtualenv virtualenvwrapper

6 , or

$ pip install virtualenv virtualenvwrapper

7 and append these lines to the end:

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

Save the file. Then “source it” in your terminal:

$ source ~/.bashrc

You’ll see some terminal output which sets up virtualenvwrapper. You now have access to new terminal commands:

  • Create an environment with $ pip install virtualenv virtualenvwrapper 8 .
  • Activate an environment (or switch to a different one) with $ pip install virtualenv virtualenvwrapper 9 .
  • Deactivate an environment with

    virtualenv and virtualenvwrapper

    export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 0 .
  • Remove an environment with

    virtualenv and virtualenvwrapper

    export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 1 .
  • Be sure to read the docs!

Let’s create a Python 3 virtual environment for OpenCV called cv:

$ mkvirtualenv cv -p python3

And now with a magic wand (pip), you can pip install OpenCV in a matter of seconds into your new environment:

$ pip install opencv-contrib-python

How to pip install OpenCV on macOS

MacOS is similar to Ubuntu for pip-installing OpenCV.

Again, you have two options to install OpenCV on macOS with pip:

  1. Install into your system $ sudo pip install opencv-contrib-python 7
  2. Install into a virtual environment’s $ sudo pip install opencv-contrib-python 7 (preferred)

Install pip

If you don’t have pip, you’ll need to obtain it first:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

Option A: Install OpenCV to your macOS system with pip

Don’t do this.

Why? I actually recommend that you go to the Option B and use a virtual environment.

Okay, well if you insist on installing on your macOS system, then it’s just as easy as pip installing OpenCV via:

$ sudo pip install opencv-contrib-python

In a matter of seconds, OpenCV is ready to go in your system’s site-packages.

Option B: Install OpenCV on macOS into a virtual environment with pip

Just like managing packages is a breeze with pip….

…managing projects and their dependencies is a breeze with virtual environments.

You should use Python virtual environments if you’re serious about computer vision development (or any development for that matter).

I don’t care what system you use (be it

$ sudo pip install opencv-contrib-python

9 ,

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

5 , or

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

6 /Anaconda), just learn to use one and stick with it.

Here’s how to install virtualenv and virtualenvwrapper, both of which will live in your system site-packages and manage each project’s virtual environment site-packages:

$ pip install virtualenv virtualenvwrapper

From there, you need to add the following lines to your

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

7 (notice that for macOS the file name is

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

8 and for Ubuntu it is

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

9 .

Open the file using

$ pip install virtualenv virtualenvwrapper

5 ,

$ pip install virtualenv virtualenvwrapper

6 , or

$ pip install virtualenv virtualenvwrapper

7 (

$ pip install virtualenv virtualenvwrapper

5 comes on most systems):

$ sudo apt-get install python3-dev $ sudo apt-get install libgl1-mesa-glx

2

…and append these lines to the end:

$ sudo apt-get install python3-dev $ sudo apt-get install libgl1-mesa-glx

3

Save the file — if you are using

$ pip install virtualenv virtualenvwrapper

5 the keyboard shortcuts are listed at the bottom of the window.

Then “source it” in your terminal:

$ sudo apt-get install python3-dev $ sudo apt-get install libgl1-mesa-glx

4

You’ll see a few lines of terminal output indicating that virtualenvwrapper is set up. You now have access to new terminal commands:

  • $ pip install virtualenv virtualenvwrapper 8 : Make a new virtual environment.
  • $ pip install virtualenv virtualenvwrapper 9 : Activate/switch to a virtual environment. Remember, you can have as many environments as you’d like.
  • virtualenv and virtualenvwrapper

    export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 0 : Jumps out of a virtual environment and you’ll be working with your system.
  • virtualenv and virtualenvwrapper

    export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 1 : Deletes a virtual environment.
  • Be sure to read the docs!

Let’s create a Python 3 virtual environment for OpenCV called cv:

$ mkvirtualenv cv -p python3

And now, using pip, and with a blink of an eye, you can pip install OpenCV on macOS in a matter of seconds into your new environment:

$ pip install opencv-contrib-python

How to pip install OpenCV on Raspberry Pi

Earlier in this post I mentioned that one of the downsides of installing OpenCV is that you don’t have any control over the compile itself — the binaries are prebuilt for you, which while nice, also means you can’t include any additional optimizations.

For the Raspberry Pi, we’re in luck.

Dave Jones (creator of the

$ source ~/.bashrc

9 Python module) and Ben Nuttall of the Raspberry Pi community-run piwheels.org, a Python package repository providing ARM wheels (i.e., pre-compiled binaries packages) for the Raspberry Pi.

Using PiWheels you’ll be able to pip install OpenCV in a matter of seconds (the same is true for other Python libraries that can take a long time to compile, including NumPy, SciPy, scikit-learn, etc.).

So how do you instruct the pip command to use PiWheels?

The short answer is “Nothing!”

If you’re using Raspbian Stretch you’ll be pleased to know that the pip command will check PiWheels for a pre-compiled binary before it checks PyPI, enabling your Pi to save a bunch of CPU cycles (and you a bunch of install time).

Furthermore, when Ben and Dave put together the OpenCV binary for PiWheels they asked me which instructions they should use — I recommended my optimized OpenCV install for the Raspberry Pi — which is exactly the instructions they followed!

If you end up using pip to install OpenCV on your Raspberry Pi, rest assured, you’re using the optimized version.

Let’s get started learning how to pip install OpenCV on our Raspberry Pi.

Install prerequisites on your Raspberry Pi

The Raspberry Pi requires that you install a few system packages before you get started:

$ sudo apt-get install python3-dev $ sudo apt-get install libgl1-mesa-glx

7

Install pip on your Raspberry Pi

The Python package manager, “pip”, can be obtained via wget:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

Now you have two options:

  1. Install OpenCV to your global Python $ sudo pip install opencv-contrib-python 7 on your Raspberry Pi
  2. Install OpenCV into a virtual environment on your Raspberry Pi

Option A: Install OpenCV to your Raspberry Pi system with pip

I wouldn’t recommend this option if you want to be able to use different versions of OpenCV in isolated environments.

But a lot of people deploy their Raspberry Pis for only one purpose/project and don’t need virtual environments.

That being said, it is quite a mess to clean up if you change your mind later and want to use virtual environments, so I’d recommend skipping this option and following Option B.

To pip install OpenCV on your Raspberry Pi system, be sure to use sudo like this:

$ sudo apt-get install python3-dev $ sudo apt-get install libgl1-mesa-glx

9

2019-11-21 Update: Readers have reported that some versions of OpenCV 4 as installed via pip do not work properly on the Raspberry Pi. You may encounter an

$ mkvirtualenv cv -p python3

1 for

$ mkvirtualenv cv -p python3

2 error when you

$ mkvirtualenv cv -p python3

3 from Python if you do not use the specific version of OpenCV mentioned in the code block above.

In a matter of seconds, OpenCV is ready to go in your Raspberry Pi’s site-packages along with any other packages you may have installed.

Option B: Install OpenCV into a virtual environment with pip on your Raspberry Pi

Virtual environments are definitely the way to go if your Raspberry Pi has multiple purposes (or if you’re like me and test code compatibility among various software versions for blog posts all the time ?).

Here’s how to install virtualenv and virtualenvwrapper, the tools I use to get it done:

$ pip install virtualenv virtualenvwrapper

Then you need to add the following lines to your

$ pip install virtualenv virtualenvwrapper

4 . Open the file using

$ pip install virtualenv virtualenvwrapper

5 ,

$ pip install virtualenv virtualenvwrapper

6 , or

$ pip install virtualenv virtualenvwrapper

7 and append these lines to the end:

virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh

Save the file. Then “source it” in your terminal:

$ source ~/.bashrc

Terminal output will be printed indicating that virtualenvwrapper is ready. Be sure to inspect it for errors.

You now have access to new terminal commands:

  • Create an environment with $ pip install virtualenv virtualenvwrapper 8 .
  • Activate an environment (or switch to a different one) with $ pip install virtualenv virtualenvwrapper 9 .
  • Deactivate an environment with

    virtualenv and virtualenvwrapper

    export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 0 .
  • Remove an environment with

    virtualenv and virtualenvwrapper

    export WORKON_HOME=$HOME/.local/bin/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/.local/bin/virtualenv source $HOME/.local/bin/virtualenvwrapper.sh 1 .
  • Be sure to read the docs!

To create a Python 3 virtual environment which will house OpenCV and other packages you install, simply use mkvirtualenv and the command below:

$ mkvirtualenv cv -p python3

Now you have a virtual environment named

$ pip install opencv-contrib-python

2 . You can activate it any time via:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

4

And now with a flip of the wrist, you can pip install OpenCV into

$ pip install opencv-contrib-python

2 :

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

5

2019-11-21 Update: Readers have reported that some versions of OpenCV 4 as installed via pip do not work properly on the Raspberry Pi. You may encounter an

$ mkvirtualenv cv -p python3

1 for

$ mkvirtualenv cv -p python3

2 error when you

$ mkvirtualenv cv -p python3

3 from Python if you do not use the specific version of OpenCV mentioned in the code block above.

That’s all there is to it with PiWheels!

I bet you’re using the PiCamera as your imaging sensor. You can install the Python module using the following command (just take note of the quotes):

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

6

Testing our pip install of OpenCV

Did you know that OpenCV’s 3.3+ has a DNN module which can run Deep Learning models?

You might be surprised, but your version of OpenCV can do this out of the box now, with little to no additional software.

We’re going to perform object detection in video with a MobileNet Single Shot Detector.

Here’s what you need to install first (assuming a

$ pip install opencv-contrib-python

2 virtual environment):

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

7

Now double check that you have all software ready by opening a Python shell:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

8

The Raspberry Pi will show a different version of Python 3, which is expected.

Now it’s time to download the code.

Be sure to use the “Downloads” section of this blog post to download the source code + pre-trained MobileNet SSD neural network.

From there, execute the following command:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

9 Figure 1: A short clip of Real-time object detection with deep learning and OpenCV

I’m using a Macbook Pro. A framerate of 6 FPS is pretty good using a CPU on a laptop.

Raspberry Pis are resourced constrained, therefore we can leverage a few tricks to create the illusion of higher FPS. If you’re on the Raspberry Pi, execute the following command:

$ sudo pip install opencv-contrib-python

0

Here I’ve created the illusion of fast 27 FPS on the Raspberry Pi while the neural network in the background is only capable of processing 0.9 FPS.

How is this possible?

Threading and queues.

It’s a little bit advanced, but if you read the original blog post (for the Raspberry Pi), you’ll understand the process. Plus, you’ll be able to impress your friends and family.

What to look out for when using pip to install OpenCV

To start, not all Python distributions will have a version of OpenCV that is pip-installable.

Newer versions of Python and newer operating systems (and not to mention, older versions which have reached their end of life) may not have a version of OpenCV ready to go in the PyPI repository as the open source community has not had a chance to release such a version yet.

In those situations you can either:

  1. Wait until the binaries for your combination of Python and OS are uploaded.
  2. Or what my recommendation would be — compile from source (Ubuntu, macOS, RPi).

Secondly, some readers, including Anaconda users, have reported problems using GUI functions such as

$ pip install opencv-contrib-python

8 and

$ pip install opencv-contrib-python

9 .

In these scenarios, OpenCV will error out saying that it was not compiled with GTK or QT support.

Simply put:

  • You’ll be able to use all other OpenCV functions but you won’t be able to use any of the GUI functions, in particular, the ones in the highgui module.
  • The solution here is to compile from source (Ubuntu, macOS, RPi).

Third, I know readers have reported issues when executing

$ mkvirtualenv cv -p python3

3 in their terminals, Jupyter Notebooks, or Python shells — this isn’t an issue with the pip install of OpenCV.

In most, but not all, situations, the error is not related to your actual install of OpenCV.

Instead, it’s more likely a problem with your understanding of some combination of:

  1. The commands that were executed and how to utilize them properly.
  2. Thinking that a command executed correctly but instead resulted in an error.
  3. Failing to access your Python virtual environment (if you are using one).

You’ll want to double-check your commands, repeat the steps, and examine your output closely before reporting an issue importing the

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python3 get-pip.py

1 bindings.

Finally, the version of OpenCV that will get installed via pip does not include “non-free” algorithms such as SIFT, SURF, and other patented algorithms. If you don’t need to use patented algorithms, then you’re golden. Otherwise, I recommend that you compile OpenCV from source via one of my installation tutorials for your system.

What's next? We recommend PyImageSearch University.

Course information: 83 total classes • 113+ hours of on-demand code walkthrough videos • Last updated: December 2023 ★★★★★ 4.84 (128 Ratings) • 16,000+ Students Enrolled

I strongly believe that if you had the right teacher you could master computer vision and deep learning.

Do you think learning computer vision and deep learning has to be time-consuming, overwhelming, and complicated? Or has to involve complex mathematics and equations? Or requires a degree in computer science?

That’s not the case.

All you need to master computer vision and deep learning is for someone to explain things to you in simple, intuitive terms. And that’s exactly what I do. My mission is to change education and how complex Artificial Intelligence topics are taught.

If you're serious about learning computer vision, your next stop should be PyImageSearch University, the most comprehensive computer vision, deep learning, and OpenCV course online today. Here you’ll learn how to successfully and confidently apply computer vision to your work, research, and projects. Join me in computer vision mastery.

Inside PyImageSearch University you'll find:

  • ✓ 83 courses on essential computer vision, deep learning, and OpenCV topics
  • ✓ 83 Certificates of Completion
  • ✓ 113+ hours of on-demand video
  • ✓ Brand new courses released regularly, ensuring you can keep up with state-of-the-art techniques
  • ✓ Pre-configured Jupyter Notebooks in Google Colab
  • ✓ Run all code examples in your web browser — works on Windows, macOS, and Linux (no dev environment configuration required!)
  • ✓ Access to centralized code repos for all 532+ tutorials on PyImageSearch
  • ✓ Easy one-click downloads for code, datasets, pre-trained models, etc.
  • ✓ Access on mobile, laptop, desktop, etc.

Click here to join PyImageSearch University

Summary

In today’s tutorial, you learned how to pip install OpenCV on your operating system.

Specifically, we covered how to install OpenCV via pip on Ubuntu, macOS, and Raspberry Pi.

While installing OpenCV via pip may be the easiest method to get you started, keep in mind that you may run into other issues.

If you find yourself running into errors or problems using your pip install of OpenCV, be sure to refer to the “What to look out for when using pip to install OpenCV” section of this blog post.

I hope you enjoyed today’s tutorial!

To be notified when future blog posts are published here on the PyImageSearch blog, be sure to enter your email address in the form below.

Hướng dẫn cài đặt opencv 4.1 2 trên windows

Download the Source Code and FREE 17-page Resource Guide

Enter your email address below to get a .zip of the code and a FREE 17-page Resource Guide on Computer Vision, OpenCV, and Deep Learning. Inside you'll find my hand-picked tutorials, books, courses, and libraries to help you master CV and DL!