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:
- Erosion
- Dilation
- 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 :
và
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:
- 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.
Ta có ví dụ sau đây :
Dilation
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
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
Ta có công thức xác định erosion và dialation như sau :
Với :
và
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
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
- Ta có công thức xác định erosion và dialation như sau :
Với :
và