Có máy loại ảnh trong xử lý ảnh
Trong bài viết này, tác giả sẽ cung cấp những kiến thức cần thiết cho những người có nhu cầu tìm hiểu về Xử lý ảnh số (viết tắt XLA) hoặc những người tò mò muốn biết Xử lí ảnh số gồm những bài toán nào, làm gì. Bài viết được tham khảo và tổng kết từ series OpenCV-Python Tutorials của OpenCV. Ngôn ngữ sử dụng chính trong bài viết là Python Show
OpenCV là gì?OpenCV là viết tắt của Open Computer Vision, như tên gọi, nó là một thư viện mã nguồn mở dành cho Computer Vision - Thị giác máy tính. OpenCV được xây dựng bằng C/C++ và tích hợp trực tiếp với package Numpy nên việc xử lý có tốc độ rất nhanh, đáp ứng những ứng dụng yêu cầu thời gian thực. Ngoài ra, OpenCV cũng có thể chạy trên những nền tảng khác nhau như Linux, Window, Mac cũng như những ngôn ngữ khác nhau như Java, Python, C++, … Học những gì?Dưới đây là một số những kiến thức mà bản thân tác giả cho là cần thiết khi tiếp cận với mảng Xử lý ảnh, chỉ mang tính chất tham khảo. Không gian màuĐể bắt đầu với XLA thì điều đầu tiên cần tìm hiểu đó chính là Không gian màu, có lẽ bạn đọc đã quá thân thuộc với từ Bạn đọc có thể tham khảo thêm Cách thức chuyển đổi giữa các hệ màu Xử lí độ sáng và tương phảnBức ảnh thu được có thể có độ sáng quá thấp, hoặc quá cao đặc biệt trong môi trường ngoài trời thì có thể sẽ có những vùng có độ sáng khác nhau. Vì vậy, kiến thức về độ sáng và tương phản cũng vô cùng cần thiết. HistogramHistogram là khái niệm thể hiện tần suất xuất hiện của các giá trị của một pixel trong bức ảnh. Việc cân bằng Histogram (Histogram equalization) là một bước tiền xử lý ảnh đầu vào, cải thiện chất lượng bước ảnh. Bức ảnh sau khi được cân bằng histogram: Binary Image - Kỹ thuật xử lý ảnh nhị phânViệc xử lý bức ảnh trở thành ảnh nhị phân thường được dùng trong những bài toán như nhận diện vật thể (Object Detection) hay phân chia (Segmentation). Việc này giúp đánh bật những vật thể mong muốn ra khỏi nền của bức ảnh, giúp xác định vị trí của vật thể mong muốn. Tùy vào mục địch hoặc đặc tính của bức ảnh mà ta có những phương pháp nhị phân khác nhau như:
Bạn đọc có thể tham khảo thêm Image Thresholding Song hành cùng Thresholding là một số kỹ thuật xử lí ảnh Binary gọi là Morphological Transform. Bao gồm những phép đóng, mở ảnh, hỗ trợ cho việc tìm đường bao về sau:
Tham khảo Morphological Transformations Geometric Transform - Kỹ thuật biến đổi hình họcNgoài vấn đề về độ sáng, tương phản, thì ta còn gặp những trường hợp bức ảnh bị biến dạng, nằm nghiêng, kích cỡ lớn. Dưới đây là một số những kỹ thuật thường sử dụng khi gặp những trường hợp này:
Translation Rotation Affine Perspective Tham khảo thêm Geometric Transformations of Images Filter - Lọc ảnhViệc sử dụng lọc ảnh có thể giúp ta loại bỏ những loại nhiễu trong bức ảnh, tăng cường chất lượng cho bức ảnh hoặc biến đổi bức ảnh theo hướng ta mong muốn. Đặc thù của lọc ảnh là sử dụng những filter/kernel lên bức ảnh dưới dạng các 2D Convolution. Một số filter đặc trưng có thể kể đến như Gaussian Blurring, Median Blurring, … Blur Median Blur Sobel Filter Laplace Filter Tham khảo Smoothing Images Biến đổi Hough, kỹ thuật phát hiện biênViệc sử dụng biến đổi Hough có thể giúp ta phát hiện được những đường thẳng, đường tròn. Ngoài ra còn có một số kĩ thuật giúp phát hiện các đường biên, nét cạnh của vật thể như Canny. Edge Detection Hough Circle and Line Tham khảo Canny Edge Detection Ngoài ra, một số phương pháp phát hiện Contour cũng được sử dụng để phát hiện vật thể dựa trên những biên ảnh Contours in OpenCV Học như thế nào?Trong quá trình học lý thuyết, chúng ta cần những bài tập thực hành để vận dụng những kiến thức đã học. Bạn đọc nên bắt đầu từ những bài toán có thể vận dụng một hoặc vài kỹ thuật đã học như Phát hiện vật thể bằng Threshold, nhận dạng biển số và phân chia chữ số của biển, phân chia kí tự trên một dòng chữ, vv…vv Segment Number
Card Detect
Bài viết được tham khảo và sử dụng tài liệu từ:
|