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

OpenCV là một thư viện xử lý ảnh viết bằng C/C++, có thể nói là chuẩn mực để ai mới nhập môn xử lý ảnh cũng phải học và dùng đến. OpenCV có thể chạy trên nhiều hệ điều hành Win, Mac, Linux và kiến trúc vi xử lý khác nhau: Intel, ARM...

Có 2 cách để cài đặt OpenCV lên một hệ điều hành:

  1. Tải mã nguồn về rồi tự build. Cách này chúng ta có thể bật, tắt tuỳ chọn để thêm bớt các chức năng phụ
  2. Tải bản binary về: đơn giản, dễ cho người mới bắt đầu

Trước tiên tôi trình bày cách 2, tải bản binary về.

Bước 1: Hãy cài đặt Home Brew . HomeBrew là trình quản lý, cài đặt thêm các gói phần mềm mã nguồn mở lên MacOSX tương tự như apt-get trong Ubuntu, Debian

Bước 2: Mở terminal gõ lệnh brew info opencv để biết phiên bản opencv sẽ cài lên máy

$ brew info opencv

opencv: stable 4.1.0 (bottled)
Open source computer vision library
https://opencv.org/
...
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/opencv.rb
==> Dependencies
Build: cmake ✔, pkg-config ✔
Required: eigen ✔, ffmpeg ✔, glog ✔, harfbuzz ✔, jpeg ✔, libpng ✔, libtiff ✔, numpy ✔, openexr ✔, python ✔, python@2 ✔, tbb ✔

Bước 3: Gõ lệnh brew install opencv

Sau bước 3 chúng ta sẽ cài đặt thư viện Python sử dụng OpenCV có tên là opencv-python. Để lập trình opencv trong Python cần chuẩn bị:

  • Python 3.7.x
  • Tạo Virtual Environment để có thể cài các gói package phiên bản khác nhau cho các dự án lập trình độc lập
  • Kích hoạt Virtual Environment

Bước 4: Cài đặt opencv-python
Nếu bạn lập trình desktop cần xem kết quả opencv xử lý thì

pip install opencv-python
pip install opencv-contrib-python

Nếu opencv xử lý âm thầm trên server không cần hiển thị giao diện thì cài

pip install opencv-python-headless
pip install opencv-contrib-python-headless

Bước 5: Kiểm tra opencv-python đã chạy ổn chưa bằng tạo một file Python chuyển đổi ảnh RGB sang màu xám

import cv2

print("OpenCV version:")
print(cv2.__version__)

img = cv2.imread("ferrario.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Over the Clouds", img)
cv2.imshow("Over the Clouds - gray", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

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

Nhược điểm của cách cài binary biên dịch sẵn là nó không đóng gói sẵn một số thuật toán thương mại hoá. Thử chạy đoạn lệnh Python này, bạn sẽ thấy lỗi 
This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library...

import cv2
import matplotlib.pyplot as plt

img_fname = 'ferrario1.jpg'  # assuming this is where you
# downloaded the above image
# load image
img = cv2.imread(img_fname)
if img is None:
    raise ValueError('{} is not a file'.format(img_fname))
# convert to grayscale
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# instantiate SURF
surf = cv2.xfeatures2d.SURF_create(7000)
# compute keypoints
keypoints = surf.detect(img_gray, None)
# plot keypoints
img_keypoints = cv2.drawKeypoints(img, keypoints, img, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
img_keypoints_rgb = cv2.cvtColor(img_keypoints, cv2.COLOR_BGR2RGB)
plt.imshow(img_keypoints_rgb)
plt.show()

OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở và đa nền tảng trong lĩnh vực thị giác máy tính. OpenCV hỗ trợ khá nhiều ngôn ngữ lập trình như C/C++, C#, Python, Java, Matlab, … Trong phạm vi bài viết này, mình xin chỉ trình bày cách cài đặt OpenCV với ngôn ngữ C++.

1. Tổng quan

Có 2 trình biên dịch C++ phổ biến nhất là g++Visual C++.

g++ là trình biên dịch chuẩn của C++, thường được sử dụng trên các IDE như CodeBlocks, DevC++, … Việc cài đặt OpenCV cho g++ khá phức tạp với những ai chưa từng sử dụng CMake, tuy nhiên đây lại là cách duy nhất để cài đặt OpenCV trên hệ điều hành Linux, mình sẽ trình bày cách cài đặt này ở bài viết khác.

Visual C++ là trình biên dịch C++ do Microsoft xây dựng, có 1 số thay đổi khác so với g++, và được tích hợp trong IDE Microsoft Visual Studio. Việc cài đặt OpenCV cho Visual C++ dễ dàng và trực quan hơn, mình sẽ trình bày cách cài đặt trong bài viết này.

Vào trang chủ của Visual Studio: https://visualstudio.microsoft.com/ và download Visual Studio IDE về. Có thể chọn bản Comumnity vì nó miễn phí nhưng vẫn đầy đủ các tính năng cho việc học tập, hoặc nếu có license cho bản Professional hay Enterprise thì cứ dùng.

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

Các bước cài đặt như phần mềm bình thường khác, ở bước này thì đánh dấu vào 2 ô có C++: Univeversal Windows Platform developmentDesktop development with C++ sau đó bấm vào Install để bắt đầu cài đặt.

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

3. Cài đặt OpenCV

Download OpenCV từ trang chủ về: https://opencv.org/releases.html. Bấm vào “Win pack” để download bản OpenCV đã được build thành các file thư viện .lib.dll cho Windows từ source code.

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

Sau khi download xong, chạy file này như file cài đặt thông thường, chọn đường dẫn mà OpenCV sẽ được giải nén ra. Nên chọn nơi giải nén sao cho dễ dàng tìm thấy và tránh trường hợp lỡ tay xóa mất, phải cài đặt lại.

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

Sau khi chọn xong đường dẫn, bấm vào Extract để bắt đầu giải nén.

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

4. Cấu hình OpenCV cho project Visual C++

Mở Visual Studio lên.

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

Tạo empty Project Visual C++ mới.

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

Thêm file C++ vào Project vừa tạo

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

Chuyển build platform của Project sang x64 vì bản OpenCV đã build sẵn chỉ hỗ trợ 64-bit.

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

Đến đây sẽ bắt đầu những bước quan trọng nhất. Click chuột phải vào Project và chọn Property để mở cửa sổ Project Property.

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

Chuyển Platform sang  x64.

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

Chọn mục C/C++->General. Ở dòng Additional Include Directories, thêm vào đường dẫn đến thư mục build\include của thư mục OpenCV đã giải nén ở bước trên. Bấm vào Apply.

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

Chuyển sang mục Linker->General. Ở dòng Additional Library Directories, thêm vào đường dẫn đến thư mục build\x64\vc15\lib (thư mục chứa các file .lib) nếu dùng Visual Studio 2017, hoặc build\x64\vc14\lib nếu dùng Visual Studio 2015. Bấm vào Apply.

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

Chuyển sang mục Linker->Input. Ở dòng Additional Dependencies, thêm vào tên file opencv_world342d.lib (vì đang build ở chế độ Debug). Nếu build ở chế độ Release thì tên file là opencv_world342.lib. 2 file này có thể được tìm thấy trong thư mục build\x64...\bin. Bấm vào Apply.

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

Cuối cùng bấm vào OK.

Sao chép file opencv_word341d.dll (hay opencv_word341.dll nếu đang build Release) trong thư mục build\x64.…\bin vào trong thư mục Project (thư mục chứa file cpp đã tạo).

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

5. Chạy thử

Copy 1 file ảnh bất kỳ vào trong thư mục Project. Sau đó copy chương trình mẫu này vào file cpp trong project, build và chạy thử xem kết quả. Lưu ý là tên file phải khớp với tham số truyền vào hàm imread().


This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters

#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
int main()
{
Mat image = imread("test.jpg");
imshow("Demo", image);
waitKey(0);
return 0;
}

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