Hướng dẫn dilation python - trăn giãn nở

Hướng dẫn dilation python - trăn giãn nở

Lí thuyết

Hôm nay mình xin giới thiệu về một số phương pháp xử ảnh nhị phân sẽ được dùng trong quá trình preprocessing hoặc postprocessing. Tuỳ theo dữ liệu mà chúng ta sẽ áp dụng những phương pháp xử lý cho phù hợp với những bộ lọc phù hợp nó sẽ giúp cho hình ảnh sau khi xử lý loại bỏ bớt nhiễu, cân bằng sáng.. gây ảnh hưởng tới chất lượng của ảnh. Bài hôm nay mình xin giới thiệu 4 phương pháp:

  1. Erosion
  2. Dilation
  3. Opening
  4. Closing

Trước khi đi vào tìm hiểu chúng ta sẽ cùng nhìn qua các hình ảnh dưới đây để hình dung qua về quá trình xử lý của các phương pháp trên.

a-original image b-dilation c-erosion e-opening f-closing b-dilation c-erosion e-opening f-closing
b-dilation
c-erosion
e-opening
f-closing

Ta có công thức xác định erosion và dialation như sau :

Với :


Với s là ma trận pixel của ảnh, f là filter có thể là 1 mảng hoặc một ma trận nhị phân tuỳ theo từng loại dữ liệu mà ta sẽ chọn kích thước fiter cho phù hợp.

Erosion

Dilation
Mục đích của phương pháp này sẽ giúp:

  1. Opening
  2. Closing
  3. Trước khi đi vào tìm hiểu chúng ta sẽ cùng nhìn qua các hình ảnh dưới đây để hình dung qua về quá trình xử lý của các phương pháp trên.
    Ta có ví dụ sau đây :

Dilation

Opening

  1. Closing
  2. Trước khi đi vào tìm hiểu chúng ta sẽ cùng nhìn qua các hình ảnh dưới đây để hình dung qua về quá trình xử lý của các phương pháp trên.
  3. a-original image b-dilation c-erosion e-opening f-closing b-dilation c-erosion e-opening f-closing
    Ta có ví dụ sau đây:

Opening

Closing
Với :

Trước khi đi vào tìm hiểu chúng ta sẽ cùng nhìn qua các hình ảnh dưới đây để hình dung qua về quá trình xử lý của các phương pháp trên.

a-original image b-dilation c-erosion e-opening f-closing b-dilation c-erosion e-opening f-closing

Ta có công thức xác định erosion và dialation như sau :

Với :

Với s là ma trận pixel của ảnh, f là filter có thể là 1 mảng hoặc một ma trận nhị phân tuỳ theo từng loại dữ liệu mà ta sẽ chọn kích thước fiter cho phù hợp.


Erosion

import cv2
from IPython.display import Image
image = cv2.read(path, cv2.IMREAD_GRAYSCALE)  #doc hinh anh

#ta có thể áp dụng các bộ lọc  sepFilter2D(), filter2D(), blur(), boxFilter(), bilateralFilter(), medianBlur()
#dưới đây mình xin áp dụng bộ lọc trung vi 3x3

img = cv2.medianBlur(image, 3) 
cv2.imwrite(path, img) #lưu ảnh vào đường dẫn
Image(path)  #hiển thị ảnh

Dilation

import cv2
from IPython.display import Image
image = cv2.read(path, cv2.IMREAD_GRAYSCALE)  #doc hinh anh

Opening

Closing

Trước khi đi vào tìm hiểu chúng ta sẽ cùng nhìn qua các hình ảnh dưới đây để hình dung qua về quá trình xử lý của các phương pháp trên.

  • a-original image b-dilation c-erosion e-opening f-closing b-dilation c-erosion e-opening f-closing
  • Ta có công thức xác định erosion và dialation như sau :


Với :