Download và cài đặt Visual Studio 2017
Các bạn có thể tải về bản mới nhất tại địa chỉ (bản miễn phí là Community Edition)

Để thực hiện cài đặt, các bạn làm theo hướng dẫn của Microsoft tại địa chỉ bên dưới:
https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2017
Sau khi cài đặt xong, giao diện chương trình như bên dưới:

Các bạn có thể chọn Theme Visual Studio phù hợp với view của mình.
Tạo project với Visual Studio 2017
Chúng ta tạo project C++ (Windows Console Application)

Thông tin cài đặt OpenCV
Trước khi thực hiện cấu hình project để sử dụng OpenCV, chúng ta sẽ nhắc lại một vài thông tin quan trọng liên quan đến OpenCV
- Thư mục cài đặt:
C:\opencv - Thư mục include:
C:\opencv\build\include - Thư mục library:
C:\opencv\build\x64\vc15\lib - Đối với chế độ Debug, sử dụng thư viện: opencv_world401d.lib
- Đối với chế độ Release, sử dụng thư viện: opencv_world401.lib
Cấu hình project sử dụng OpenCV
Thực hiện mở Property Pages của project, sau đó thực hiện cấu hình cho các thông tin bên dưới:
C/C++ -> General -> Additional Include Directories
C:\opencv\build\include

Linker -> General -> Additional Library Directories
C:\opencv\build\x64\vc15\lib

Linker -> Input -> Additional Dependencies
opencv_world401d.lib

Note: Nếu chúng ta tự build OpenCV (kèm theo với Extra Modules), thì số lượng Dependencies cập nhập vào sẽ là một danh sách file (*.lib). Cũng liên quan đến phần này, tôi sẽ nhắc đến cách Build OpenCV with Extra Modules ở một bài viết khác.
Sử dụng OpenCV
Tạo một file *.cpp trong project và thực hiện coding tùy ý, khi này chúng ta sẽ gọi đến OpenCV thông qua đoạn code bên dưới:
#include <opencv2/opencv.hpp>
Một ví dụ về chuyển đổi ảnh màu sang ảnh đen trắng (gray)
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
// Load image
Mat colorImg = imread("colorImg.jpg");
// Convert to gray image
Mat grayImg;
cvtColor(colorImg, grayImg, COLOR_RGB2GRAY);
imwrite("grayImg.jpg", grayImg);
// Create windows
namedWindow("colorImg", WINDOW_AUTOSIZE);
namedWindow("grayImg", WINDOW_AUTOSIZE);
// Show images
imshow("colorImg", colorImg);
imshow("grayImg", grayImg);
waitKey(0);
return 0;
}
Trong đoạn code trên, chúng ta đã sử dụng các lớp / hàm hỗ trợ sẵn từ OpenCV:
- Mat: là lớp dùng để chứa đối tượng ảnh (ngoài ra còn thế thể chứa nhiều loại đối tượng khác)
- imread: sử dụng để đọc một ảnh từ đường dẫn xác định
- cvtColor: chuyển đổi màu
- imwrite: ghi ảnh vào tệp tin
- namedWindow: tạo cửa sổ để hiển thị
- imshow: tải và hiển thị ảnh trên các cửa sổ window đã được tạo
Build project, kết quả sẽ xuất hiện trong cửa sổ Output của Visual Studio 2017
1>------ Rebuild All started: Project: OpenCV_FirstDemoApp, Configuration: Debug x64 ------
1>imageprocessing.cpp
1>OpenCV_FirstDemoApp.vcxproj -> C:\Users\username\source\repos\OpenCV_FirstDemoApp\x64\Debug\OpenCV_FirstDemoApp.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
Chạy project (sử dụng phím F5 hoặc Menu Debug -> Start Debugging), kết quả được hiển thị
Trước khi chạy, chúng ta cần copy các file bên dưới vào thư mục C:\Users\username\source\repos\OpenCV_FirstDemoApp\x64\Debug
- colorImg.jpg
- opencv_world401d.dll
Kết quả

Bạn có thể tham khảo source code tại địa chỉ:
https://github.com/giabaovn/opencv/tree/master/OpenCV_FirstDemoApp
Trong một bài viết khác, tôi sẽ đề cập đến cách Build OpenCV with Extra Modules (để có thêm các chức năng hỗ trợ liên quan đến Face Recognition, ...)


OpenCV![[OpenCV] Image Denoising - Khử nhiễu hình ảnh](\adminapp\img\projects\8024\20190119104418_opencv_image_denoising.jpg)
