Xem thêm

Học Xử Lý Ảnh Số: Bắt đầu từ đâu?

Huy Erick
Trong bài viết này, chúng ta sẽ khám phá về Xử Lý Ảnh Số (XLA) và những kiến thức cần thiết để hiểu về nó. Bài viết này được lấy cảm hứng từ series OpenCV-Python...

Trong bài viết này, chúng ta sẽ khám phá về Xử Lý Ảnh Số (XLA) và những kiến thức cần thiết để hiểu về nó. Bài viết này được lấy cảm hứng từ series OpenCV-Python Tutorials của OpenCV, với sự sử dụng chính ngôn ngữ lập trình Python.

OpenCV là gì?

OpenCV là viết tắt của Open Computer Vision, là một thư viện mã nguồn mở dành cho Computer Vision - Thị giác máy tính. Được xây dựng bằng C/C++ và tích hợp trực tiếp với package Numpy, OpenCV cho phép xử lý ảnh nhanh chóng và đáp ứng những ứng dụng yêu cầu thời gian thực. Ngoài ra, OpenCV còn có thể chạy trên nhiều nền tảng khác nhau và hỗ trợ các ngôn ngữ lập trình như Java, Python, C++,...

Học những gì?

Dưới đây là những kiến thức cơ bản để bạn tiếp cận Xử Lý Ảnh, nhưng hãy nhớ rằng đây chỉ là những gợi ý và có tính chất tham khảo.

Không gian màu

Không gian màu là khái niệm đầu tiên chúng ta cần tìm hiểu khi bắt đầu XLA. Bạn có thể quen thuộc với không gian màu RGB - đỏ, xanh lá cây và xanh dương từ trung học. Đây là ba màu cơ bản được sử dụng trong không gian màu RGB. Ngoài ra, còn nhiều không gian màu khác nhau phục vụ cho những mục đích khác nhau như HSV, HSL, Gray,... Bạn nên nắm vững các biểu diễn của từng không gian màu và công thức chuyển đổi giữa chúng.

Color Spaces

Xử lí độ sáng và tương phản

Độ sáng và tương phản là hai yếu tố quan trọng khi xử lý ảnh. Bức ảnh có thể có độ sáng quá thấp hoặc cao, đặc biệt là trong môi trường ngoài trời, vì vậy kiến thức về độ sáng và tương phản là rất cần thiết.

Brightness and Contrast

Histogram

Histogram là khái niệm thể hiện tần suất xuất hiện của các giá trị pixel trong bức ảnh. Cân bằng histogram là một bước tiền xử lý ảnh để cải thiện chất lượng. Dưới đây là ví dụ về việc cân bằng histogram:

Histogram

Ảnh nhị phân

Chuyển đổi bức ảnh thành ảnh nhị phân thường được sử dụng trong những bài toán như nhận dạng vật thể hay phân chia. Điều này giúp xác định vị trí và đánh bật các vật thể trong ảnh. Có các phương pháp nhị phân khác nhau như Phân tích ngưỡng cố định và Phân tích ngưỡng động.

Threshold

Biến đổi hình học

Ngoài vấn đề về độ sáng và tương phản, chúng ta còn gặp những trường hợp bức ảnh bị biến dạng, nghiêng, kích cỡ lớn. Dưới đây là một số kỹ thuật thường sử dụng để xử lý những trường hợp này:

  • Scaling - Biến đổi kích thước
  • Rotating - Xoay ảnh
  • Translation - Dịch chuyển ảnh
  • Perspective Transform, Affine Transform - Biến đổi ảnh theo các điểm mốc

Geometric Transform

Lọc ảnh

Lọc ảnh giúp loại bỏ nhiễu và tăng cường chất lượng ảnh hoặc biến đổi ảnh theo mong muốn. Có nhiều loại filter như Gaussian Blurring, Median Blurring,...

Filter

Phát hiện biên

Sử dụng biến đổi Hough để phát hiện đường thẳng và đường tròn. Có các kỹ thuật khác như Canny để phát hiện cạnh.

Edge Detection

Học như thế nào?

Trong quá trình học, thực hành là rất quan trọng để vận dụng kiến thức đã học. Bạn nên bắt đầu với những bài toán đơn giản như phát hiện vật thể bằng Threshold, nhận dạng biển số và phân chia chữ số, phân chia kí tự trong ảnh.

Segmentation Number

Bài viết được tham khảo và sử dụng tài liệu từ:

  • Ứng dụng xử lý ảnh trong thực tế với thư viện OpenCV - Nguyễn Văn Long ([email protected])
  • OpenCV Tutorials
1