Trang chủ Liên hệ

Các thuật toán xử lý hình ảnh cổ điển

CÔNG TY TNHH THIẾT BỊ ĐO LƯỜNG VÀ ĐIỀU KHIỂN 05/02/2024

Xử lý hình ảnh là kỹ thuật cốt lõi của thị giác máy tính, giúp phát triển nhiều ứng dụng thực tế như robot, ô tô tự lái và camera thông minh, phát hiện đối tượng,…. Xử lý ảnh cho phép chuyển đổi và thao tác trên hàng nghìn ảnh cùng lúc, từ đó trích xuất những thông tin chi tiết và quan trọng. Bài viết này sẽ cùng bạn khám phá về xử lý hình ảnh bằng Python: các thuật toán xử lý hình ảnh. Cùng lưu lại và tham khảo thêm nhé!

Các thuật toán xử lý hình ảnh cổ điển

1, Xử lý ảnh hình thái học (Morphological Image Processing)

Morphological Image Processing gồm các phép toán phi tuyến tính (non-linear) tác động đến hình dạng hoặc hình thái của ảnh nhị phân. Thuật toán này loại bỏ các điểm nhiễu và làm mịn hình ảnh.

Xử lý hình thái học cũng có thể được mở rộng cho hình ảnh thang độ xám. Nó bao gồm những thao tác phi tuyến tính liên quan đến cấu trúc của các vị trí trong ảnh, phụ thuộc vào thứ tự pixel. Kỹ thuật này phân tích một hình ảnh bằng cách sử dụng phần tử cấu trúc (structuring element) đặt ở những vị trí khác nhau trong hình ảnh và được so sánh với các pixel lân cận tương ứng. Phần tử cấu trúc là một ma trận nhỏ với các giá trị 0 và 1.

Hai thao tác cơ bản của quá trình xử lý hình thái học là Dilation (phép giãn) và Erosion (phép co)

Số lượng pixel được xóa hoặc thêm vào hình ảnh gốc phụ thuộc vào kích thước của phần tử cấu trúc.

2. Xử lý hình ảnh Gaussian

Gaussian blur (làm mờ/mịn Gaussian) là kết quả của việc làm mờ hình ảnh bởi một hàm Gaussian.

Kỹ thuật này được sử dụng để giảm nhiễu ảnh và các chi tiết. Hiệu ứng hình ảnh của kỹ thuật Gaussian tương tự như việc nhìn một hình ảnh qua màn hình mờ. Trong thị giác máy tính, Gaussian được sử dụng để tăng cường hình ảnh ở các quy mô khác nhau hoặc như một kỹ thuật tăng cường dữ liệu trong học sâu.

Hàm gaussian cơ bản được biểu diễn như sau:

Trong thực tế, có thể tận dụng đặc tính có thể phân tách của Gaussian blur để chia quá trình thành 2 lần. Lần đầu tiên, kernel một chiều (nhân hệ điều hành) được sử dụng để làm mờ hình ảnh chỉ theo hướng ngang hoặc dọc. Lần thứ hai, kernel một chiều tương tự được dùng để làm mờ theo hướng còn lại. Kết quả thu được là kernel hai chiều. Dưới đây là một ví dụ trực quan để hiểu tác động của bộ lọc Gaussian đối với hình ảnh.

Có thể thấy, Gaussian filter là bộ lọc thông thấp, tức là làm suy yếu các tần số cao. Nó thường được sử dụng trong phát hiện cạnh.

3. Fourier Transform trong xử lý ảnh

Phép biến đổi Fourier chia hình ảnh thành các thành phần sin và cosin. Nó có nhiều ứng dụng như tái tạo hình ảnh, nén hình ảnh hoặc lọc hình ảnh.

Một hình sin bao gồm ba yếu tố:

Hình ảnh trong miền tần số biểu thị như sau:

Công thức cho phép biến đổi fourier rời rạc 2D là:

Trong công thức trên, f (x, y) biểu thị hình ảnh.

Phép biến đổi fourier nghịch đảo chuyển phép biến đổi trở lại hình ảnh. Công thức cho phép biến đổi fourier rời rạc nghịch đảo 2D là:

4. Phát hiện cạnh trong xử lý ảnh

Phát hiện cạnh là một kỹ thuật xử lý hình ảnh để tìm ranh giới của các đối tượng trong hình ảnh. Nó hoạt động bằng cách phát hiện những điểm không liên tục về độ sáng. Thuật toán này có thể nhanh chóng phản ứng nếu phát hiện một số nhiễu trong ảnh đồng thời phát hiện các biến thể của mức xám. Các cạnh được định nghĩa là cực đại cục bộ của gradient.

Thuật toán phát hiện cạnh phổ biến nhất là thuật toán phát hiện cạnh sobel. Toán tử phát hiện Sobel được tạo thành từ các hạt nhân chập 3 * 3. Một kernel đơn giản Gx và một kernel xoay 90 độ Gy. Các phép đo riêng biệt được thực hiện bằng cách áp dụng cả hai kernel riêng biệt vào hình ảnh.

* biểu thị phép toán tích chập xử lý tín hiệu 2D.

Gradient kết quả có thể được tính như sau:

5. Xử lý hình ảnh Wavelet

Phép biến đổi Fourier chỉ giới hạn ở tần số, trong khi đó Wavelet xem xét cả thời gian và tần suất. Biến đổi này phù hợp với các tín hiệu không cố định.

Cạnh là một trong những phần quan trọng của hình ảnh, tuy nhiên, khi áp dụng các bộ lọc truyền thống, nhiễu được loại bỏ nhưng hình ảnh bị mờ. Biến đổi Wavelet được thiết kế để có được độ phân giải tần số tốt cho các thành phần tần số thấp. Dưới đây là ví dụ về biến đổi wavelet 2D

Tổng kết

Trên đây là những thông tin bạn đọc cần biết về các thuật toán xử lý hình ảnh cổ điển, hi vọng rằng sẽ hỗ trợ bạn trong việc tìm hiểu và nâng cao kiến thức về xử lý ảnh. Đừng quên theo dõi những bài viết mới nhất của chúng tôi trong thời gian sắp tới nhé.

Bài viết liên quan