Header Ads

Tổng quan về OpenCV


OpenCV là một thư viện đa nền tảng, giúp ta có thể phát triển các ứng dụng thị giác máy tính. Nó chủ yếu trọng tâm vào xử lý hình ảnh, quay video và phân tích bao gồm các tính năng như phát hiện khuôn mặt và phát hiện đối tượng.

Hãy bắt đầu bài viết này với định nghĩa thuật ngữ "Thị giác máy tính" là gì.

Thị giác máy tính

Thị giác máy tính (Computer Vision) có thể được định nghĩa là một môn học giải thích làm thế nào để tái cấu trúc, dựng lại và hiểu được một cảnh 3D từ những hình ảnh 2D của nó, với điều kiện của các thuộc tính của cấu trúc đại diện trong cảnh. Nó giải quyết với mô hình và nhân rộng thị giác của con người bằng việc sử dụng phần cứng và phần mềm máy tính.

Thị giác máy tính bao gồm các lĩnh vực sau:
  • Xử lý hình ảnh - Nó trọng tâm vào xử lý ảnh.
  • Nhận diện mẫu - Nó giải thích các kỹ thuật khác nhau để phân loại mẫu.
  • Quang trắc - Nó liên quan đến việc thu thập các số đo chính xác từ hình ảnh.

So sánh Xử ảnh và Thị giác máy tính


  • Xử lý ảnh giải quyết sự biến đổi ảnh-sang-ảnh. Đầu vào và đầu ra của quá trình này đều là hình ảnh. 
  • Thị giác máy tính là xây dựng cấu trúc minh bạch, những mô tả có ý nghĩa của các đối tượng vật lý từ hình ảnh của chúng. Đầu ra của thị giác máy tính là một mô tả hoặc là một cấu trúc giải thích trong cảnh 3D.

Các ứng dụng của Thị giác máy tính

Dưới đây tôi liệt kê ra một vài lĩnh vực chính, mà Thị giác máy tính được sử dụng nhiều.

Ứng dụng trong người máy


  • Định vị - Xác định vị trí của robot một cách tự động
  • Điều hướng
  • Tránh vật cản.
  • Tương tác giữa người và Robot (HRI) - Những robot thông minh có thể tương tác và phục vụ con người.

Ứng dụng trong y học

  • Phân loại và nhận diện (ví dụ như phân loại tế bào, vế thương và nhận diện ung bướu).
  • Mô phỏng 3d các bộ phận cơ thể người (MRI hoặc siêu âm).
  • Giúp định hình cho robot phẩu thuật

Ứng dụng trong công nghiệp tự động

  • Kiểm tra công nghiệp (Phát hiện lỗi)
  • Mã vạch và đọc nhãn các gói hàng
  • Sắp xếp đối tượng.
  • Đọc hiểu tài liệu (ví dụ như OCR)

Ứng dụng trong an ninh

  • Sinh trắc học (nhận diện võng mạc, vân tay, khuôn mặt, ...)
  • Giám sát - phát hiện các hoạt động hoặc hành vi đáng ngờ

Ứng dụng trong vận chuyển

  • Xe tự lái
  • An toàn - Hệ thống theo dõi cảnh báo cho tài xế

Các tính năng của thư viện OpenCV

Sử dụng thư viện OpenCV, bạn có thể:
  • Đọc và ghi hình ảnh
  • Ghi hình và lưu video
  • Xử lý hình ảnh (lọc, chuyển đổi)
  • Thực hiện nhận dạng đặc điểm
  • Phát hiện các đối tượng xác định như khuôn mặt, mắt, xe trong video hoặc hình ảnh.
  • Phân tích video, ... ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối tượng trong video.
OpenCV ban đầu được phát triển trong C++. Hơn thế nữa, Python và Java cũng được hỗ trợ. OpenCV chạy trên nhiều Hệ điều hành khác nhau như Windows, Linux, OS, FreeBSD, Net BSD, Open BSD, ...

Chuyên mục này giải thích những khái niệm cơ bản của OpenCV với các ví dụ sử dụng Java.

Lược sử vắn tắt của OpenCV

OpenCV ban đầu là một sáng kiến nghiên cứu của Intel để định hướng cho các ứng dụng chuyên sâu CPU. Nó được chính thức ra mắt năm 1999.
  • Năm 2006, phiên bản đầu tiên - OpenCV 1.0 được phát hành.
  • Vào tháng 10/2009, phiên bản thứ hai - OpenCV 2 được phát hành.
  • Vào tháng 08/2012, OpenCV được vận hành bởi tổ chức phi lợi nhuận trên OpenCV.org.


Không có nhận xét nào

Được tạo bởi Blogger.