CÔNG NGHỆ THÔNG TIN >> BÀI VIẾT CHỌN LỌC

Cài đặt và sử dụng thư viện OpenCV trong Python với Visual Code

Đăng lúc: 10:48 AM - 24/12/2023 bởi Charles Chung - 1909

Trong bài này tôi sẽ hướng dẫn các bạn cài đặt và sử dụng thư viện OpenCV trong Pyhon 3.x, đọc, ghi và hiển thị hình ảnh trong Python sử dụng OpenCV.

Giới thiệu về OpenCV

  • OpenCV viết tắt của Open Source Computer Vision được xem là một trong những thư viện mã nguồn mở hàng đầu cho việc xử lý ảnh theo thời gian thực.
  • OpenCV chính thức được ra mắt đầu tiên vào năm 1999, OpenCV là thư viện mã nguồn mở miễn phí cho cả học thuật và thương mại.
  • OpenCV hỗ trợ đa nền tảng gồm Windows, Linux, Mac OS, iOS và Android.
  • OpenCV hỗ trợ ngôn ngữ lập trình C/C++, Python và Java.
  • OpenCV được viết bằng C / C ++ và tích hợp OpenCL.
  • Thư viện có hơn 2500 thuật toán được tối ưu hóa.

Các tính năng của OpenCV

  • Bộ công cụ hỗ trợ 2D và 3D
  • Nhận diện khuôn mặt
  • Nhận diện cử chỉ
  • Nhận dạng chuyển động, đối tượng, hành vi,
  • Tương tác giữa con người và máy tính
  • Điều khiển Robot
  • Hỗ trợ thực tế tăng cường

 

Ứng dụng OpenCV trong thế giới thực

  • Giám sát tự động
  • Tìm kiếm, phục hồi, xử lý ảnh
  • Nhận dạng khuôn mặt, cử chỉ.
  • Nhận dạng chữ viết, con số, ký tự.

Cài đặt Python và sử dụng thư viện OpenCV các bạn xem 2 bài dưới đây

Đọc hình ảnh

Để đọc hình ảnh chúng ta sử dụng hàm imread trong OpenCV với cú pháp sau

cv2.imread(filename, flags)

Hàm nhận vào 2 tham số

  1. filename: là đường dẫn đầy đủ của tệp tin hình ảnh
  2. flags: là hằng số chỉ ra hình ảnh sẽ đọc lên với  màu sắc gì (mặc định là 1)
  • cv2.IMREAD_UNCHANGED  or -1
  • cv2.IMREAD_GRAYSCALE  or 0
  • cv2.IMREAD_COLOR  or 1

Hiển thị hình ảnh

Để hiển thị hình ảnh chúng ta sử dụng hàm imshow trong OpenCV với cú pháp sau

cv2.imshow(window_name, image)

Hàm nhận vào 2 tham số

  1. window_name: là tên cửa sổ hiển thị hình ảnh
  2. image: là hình ảnh bạn muốn hiển thị

Hàm imshow được thiết kế sử dụng kèm với hàm waitKey() và destroyAllWindows()/destroyWindow(). Trong đó hàm waitKey() sẽ nhận vào tham số milliseconds cho cửa sổ hiển thị ảnh, hàm destroyAllWindows() sử dụng để hủy các cửa sổ đã tạo.

Ghi hình ảnh

Để ghi hình ảnh chúng ta sử dụng hàm imwrite trong OpenCV với cú pháp sau

imwrite(filename, image)

Hàm nhận vào 2 tham số

  1. filename: là đường dẫn đầy đủ của tệp tin hình ảnh
  2. image: là hình ảnh bạn muốn hiển thị

Sau đây chúng ta sẽ xem 1 ví dụ, đọc 1 hình ảnh từ thư mục images và hiển thị lên với màu gray, cuối cùng sẽ ghi vào một tệp tin "images/hoa-hong-gray.jpg"

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# import thư viện 
import cv2
# sử dụng hàm imread để đọc hình ảnh
img_gray=cv2.imread('images/hoa-hong.jpg',0)
# hiển thị hình ảnh với màu gray
cv2.imshow('hoa-hong',img_gray)
# đợi đến khi nhấn 1 phím bất kỳ thì thoát, 0 là hiển thị mãi mãi
cv2.waitKey(0)
# hủy tất cả các sửa sổ đã tạo
cv2.destroyAllWindows()
# sử dụng hàm imwrite để ghi hình ảnh vào tệp tin mới
cv2.imwrite('images/hoa-hong-gray.jpg',img_gray)

Kết quả

thay lời cảm ơn!

QUẢNG CÁO - TIẾP THỊ