You are on page 1of 15

I.

Tổng quan về OpenCV, OpenCV là gì và các ứng dụng của OpenCV


1. Giới thiệu về OpenCV:
OpenCV (Open Source Computer Vision) là một thư viện thị giác máy tính mã nguồn tập
trung chủ yếu vào việc sử lý hình ảnh, đồ họa trong thời gian thực (real-time). OpenCV
được phát triển ban đầu bới Intel năm 1999, là một thư viện mã nguồn mở, đa nền tảng,
theo giấy phép BSD.
Nó có các interface C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và
Android. OpenCV được thiết kế để tính toán hiệu quả và với sự tập trung nhiều vào các
ứng dụng thời gian thực. Được viết bằng tối ưu hóa C/C++, thư viện có thể tận dụng lợi
thế của xử lý đa lõi. Thư viện có hơn 2500 thuật toán được tối ưu hóa. Được sử dụng trên
khắp thế giới, OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download
vượt quá 6 triệu lần. Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác
mỏ, bản đồ trên web hoặc công nghệ robot.
2. Một số chức năng nổi bật của thư viện OpenCV
a. Chỉnh sửa màu sắc, tìm viền, convert color, theshold, quang đồ
b. Image, camera I/O, sử lý và hiển thị (core, imgproc, highgui)
c. Nhận diện khuôn mặt và các chi tiết trên gương mặt (cascade)
d. Training cho quá trình nhận diện vật thể
e. Nhận diện cử chỉ
f. Nhận diện đối tượng, hành vi, vật thể (objdetect, features2d, nonfree)
g. Machine learning (ml, Flan)
h. Tối ưu các thuật toán xử lý ảnh bằng GPU (CUDA)
i. Thực tế tăng cường (AR)
Và rất nhiều các thư viện khác
3. Ứng dụng trong thực tế
1 số các ứng dụng chính của OpenCV
a. Giám sát tự động
b. Robot và xe tự lái
c. Ứng dụng phân tích hình ảnh trong y tế
d. Nhận dạng khuôn mặt, cử chỉ
e. Nhận diện vật thể
f. Nhận dạng chữ viết, con số
g. Phục hồi hình ảnh
h. Cấu trúc 3D
Cùng rất nhiều các ứng dụng khác.
II. Cài đặt thư viện OpenCV trên Windows 10
1. Với ngôn ngữ C/C++
Để cài đặt OpenCV, đầu tiên, chúng ta tải thư viện OpenCV trên trang chủ
(https://opencv.org). Có rất nhiều phiên bản của OpenCV, bản mới nhất là bản
4.0.1, tuy nhiên, bản này vẫn chưa hỗ trợ đầy đủ tất cả các tính năng của
OpenCV (sẽ nói ở phần sau), vì vậy, chúng ta nên cài bản 3.4.5, đây là bản
OpenCV khá hoàn thiện tính đến thời điểm này.
Sau khi tải file chúng ta tiến hành chạy file opencv-3.4.5-vc14_vc15.exe, chon
thư mục lưu các folder và tiến hành giải nén các file. Đây là bản OpenCV tương
thích với Visual Studio 14 và 15, và từ các bản OpenCV 3.x.x trở đi, thư viện
này chỉ hỗ trợ platform x64/amd64.

Sau khi giải nén xong, ta được folder $directory\opencv, trong folder này bao
gồm hai folder là : $directory\opencv\build và $directory\opencv\source như
hình:

Trong đó, $directory\opencv\build là thư mục chứa các file binary build sẵn như
opencv_worldxxx.dll, hay là cv2.pyd dành cho python, còn
$directory\opencv\source là thư mục chứa source code và các file example của
nhiều platform khác nhau. Tiện dụng nhất là các file python giúp bạn chạy trực tiếp
mà không cần compile sẵn như C++.
Đầu tiên, chúng ta phải cài đặt biến môi trường của Windows
 Nhấp chuột phải vào Computer/My Computer/This PC, chọn properties. Cửa
sổ “System” hiện ra. Chọn “Advanced system settings”
 Chọn tab “Advanced” và chọn “Environment Variables…”
 Tại vùng “System variables” chọn đến biến “Path”, chọn “Edit”, chọn
“New”

 Ta thêm $ DIRECTORY\opencv\build\$PLATFORM\$VCXX\bin\
Với trường hợp không cần sử dụng thêm các tính năng mở rộng, chúng ta sẽ tiến
hành build project trực tiếp với Visual Studio.
Bước 1: tạo 1 project mới bằng Visual Studio, chọn ngôn ngữ C++ và Empty
project

Sau khi tạo xong, cọn source file và ấn Ctrl+ Shift+A, sau đó add thêm file .cpp
Bước 2: Ấn chuột phải vào tên project trong tab solution explore, chọn properties
hoặc ấn Alt+ Enter để vào “(project name) properties page”. Chọn Project
Properties > Configuration Properties > C/C++ > General > Addition Include
Directories, trong Addition Include Directories, ta thêm đường dẫn
$(Directory)\opencv\build\include
Bước 3: tiếp tục chọn Linker > General > Addition Library Directories. Tại đây
ta thêm đường dẫn $Directory\opencv\build\$platform\$visualstudioversion\lib

Bước 4: chọn Linker > Input>Additional dependencies, ta thêm file


opencv_world345d.lib, nhấn ok, và chọn Apply

Như vậy chúng ta đã build được một project với OpenCV và Visual Studio bằng
ngôn ngữ C++. Bậy giờ ta sẽ thử một đoạn code với OpenCV
#include "opencv2/opencv.hpp"
using namespace cv;

int main(int, char**)


{
VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) // check if we succeeded
return -1;
namedWindow("frame",1);
for(;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
imshow("frame", frame);
if(waitKey(30) >= 0) break;
}
return 0;
}

Nếu webcam bật lên là đã thành công.


2. Thêm phần mở rộng
Nếu ta muốn can thiệp vào mã nguồn của OpenCV hoặc sử dụng phần mở rộng
của thư viện này, ta cần tự biên dịch trên máy tính để có được các tập tin nhị
phân. Phần mở rộng không được tích hợp sẵn mà là một phần rời khỏi thư viện
mặc định. Chúng có thể được tải tại địa chỉ
https://github.com/opencv/opencv_contrib/releases dưới dạng tập tin nén. Để sử
dụng phần mở rộng thì phần mặc định phải có phiên bản tương ứng. Bên cạnh
đó ta cũng cần phải có mã nguồn của phần mặc định dưới dạng tập tin nén. Tải
mã nguồn chưa biên dịch của phần mặc định tại đường dẫn
https://github.com/opencv/opencv/releases. Để biên dịch mã nguồn của OpenCV
trên máy tính có mã nguồn chưa biên dịch của phần mặc định cài đặt trình biên
dịch C/C++ (chẳng hạn Visual Studio) cộng thêm ứng dụng CMake (dành cho
Windows). Tải CMake tại đường dẫn http://www.cmake.org/download.
Lưu ý rằng một số chương trình diệt virus sẽ hạn chế việc biên dịch chương trình
trên máy tính do đó ta cần tắt chúng đi.
Sau khi tải các file chứa phần mở rộng và mã nguồn chưa biên dịch, ta tiến hành
giải nén các file.
Mở file Cmake GUI, thêm path của 2 phần build và source, với build là phần
build mặc định, còn source là phần mã nguồn chưa biên dịch.
Chọn “Configure”, chọn phiên bản visual studio cần build và chọn platform của
PC và ấn Finish
Sau khi Configure xong sẽ hiện ra một list như trong hình, ta đến phần
OPENCV, chọn OPENCV_EXTRA_MODULES_PATH, thêm vào đó đường
dẫn dạng $Directory\opencv_contrib-x.x.x\modules, nhấn configure thêm 1 lần
nữa, sau khi làm xong thì ấn Generate.
Sau khi Generate thành công, chọn Open Project, ta được như hình. Ta tiến hành
build project, chọn All Build nếu muốn sử dụng toàn bộ các modules của
OpenCV
Như vậy là ta build xong toàn bộ các modules và lib bằng Cmake
3. Với Python
Python là một ngon ngữ lập trình có cú pháp đơn giản phổ biến và rất thuận tiện
cho việc lập trình các ứng dụng liên quan đến AI và Machine Learning.
Đầu tiên, chúng ta tải và cài đặt Python 3.6 từ trang chủ
https://www.python.org/downloads/
Sau đó bật command windows, nhập Python:

Nếu kết quả như hình là đã thành công


Sau đó ta thoát ra bằng cách nhập lệnh quit()
Nhập lệnh pip install numpy để cài đặt numpy
Tiếp theo, ta chuyển file $Directory\opencvx.x.x\build\python cv2\python-3.6\
cv2.cp36-win_amd64.pyd sang thư mục C:\Python36\Lib\site-packages
Kiểm tra cài đặt OpenCV thành công hay không bằng cách nhập:
Python (Enter)
>>>import cv2
>>> print (cv2.__version__)
Nếu hiện ra đúng version của OpenCV là đã thành công

You might also like