

OpenCV
OpenCV là một trong những thư viện thị giác máy tính phổ biến nhất. Nếu bạn muốn bắt đầu hành trình trong lĩnh vực thị giác máy tính, thì việc hiểu rõ các khái niệm của OpenCV là vô cùng quan trọng.
Trong bài viết này, để tìm hiểu các chức năng cơ bản của module OpenCV trong Python, chúng ta sẽ cùng đi qua những khái niệm cơ bản và quan trọng nhất của OpenCV:
Đọc ảnh
Trích xuất giá trị RGB của một điểm ảnh
Trích xuất vùng quan tâm (ROI)
Thay đổi kích thước ảnh
Xoay ảnh
Vẽ hình chữ nhật
Hiển thị văn bản trên ảnh
Đây là hình ảnh gốc mà chúng ta sẽ thao tác để làm mẫu

Hãy bắt đầu với một nhiệm vụ đơn giản: đọc một hình ảnh bằng OpenCV.
Để thực hiện, trước tiên chúng ta cần cài đặt thư viện OpenCV bằng lệnh sau:
1.Đọc ảnh
Trước tiên, chúng ta sẽ import module cv2 rồi đọc ảnh đầu vào bằng phương thức imread() của OpenCV. Sau đó, chúng ta sẽ trích xuất chiều cao và chiều rộng của ảnh.

Kết quả(Output):

2.Trích xuất giá trị RGB của một điểm ảnh
Bây giờ chúng ta sẽ tập trung vào việc trích xuất giá trị RGB của một điểm ảnh riêng lẻ. OpenCV sắp xếp các kênh màu theo thứ tự BGR (Blue, Green, Red) chứ không phải RGB.
Do đó, giá trị thứ 0 (chỉ số đầu tiên) sẽ là kênh Blue, không phải Red.

Kết quả(Output):

3.Trích xuất vùng quan tâm (ROI)
Đôi khi chúng ta muốn trích xuất một phần cụ thể (vùng quan tâm) của hình ảnh.Điều này có thể thực hiện bằng cách cắt ma trận pixel của ảnh.

Kết quả(Output):

4.Thay đổi kích thước ảnh
Chúng ta có thể thay đổi kích thước ảnh trong Python bằng cách sử dụng hàm resize() của module cv2, truyền vào ảnh đầu vào và kích thước mong muốn.

Kết quả(Output):

Vấn đề của cách tiếp cận này là tỷ lệ khung hình của ảnh không được giữ nguyên.
Vì vậy, chúng ta cần thực hiện thêm một vài bước để duy trì đúng tỷ lệ khung hình.

Kết quả(Output):

5.Vẽ hình chữ nhật
Chúng ta có thể vẽ một hình chữ nhật trên ảnh bằng cách sử dụng phương thức cv2.rectangle(). Hàm này nhận vào 5 tham số chính:
Ảnh cần vẽ
Tọa độ góc trên bên trái
Tọa độ góc dưới bên phải
Màu sắc (theo định dạng BGR)
Độ dày đường viền

Kết quả(Output):

6.Hiển thị văn bản
Đây cũng là một thao tác in-place (thực hiện trực tiếp trên ảnh) có thể làm bằng phương thức cv2.putText() trong OpenCV. Hàm này nhận vào 7 tham số chính:
Ảnh cần vẽ chữ
Chuỗi văn bản cần hiển thị
Tọa độ góc dưới bên trái – vị trí bắt đầu hiển thị chữ
Font chữ
Kích thước chữ
Màu chữ (theo định dạng BGR)
Độ dày nét chữ

Kết quả(Output):

Các nguồn tham khảo
OpenCV tutorials: https://docs.opencv.org/4.x/d9/df8/tutorial_root.html
GeeksforGeeks: https://www.geeksforgeeks.org/python/opencv-python-tutorial

