GIỚI THIỆU CHUNG VỀ XỬ LÝ ẢNH
Tổng quan về hệ thống xử lý ảnh
Quá trình xử lý ảnh là thao tác trên ảnh đầu vào để đạt được kết quả mong muốn Kết quả cuối cùng của quá trình này có thể là một bức ảnh đã được chỉnh sửa hoặc cải thiện.
“tốt hơn” hoặc một kết luận
Quá trình xử lý ảnh bao gồm các bước cần thiết để hình dung cấu hình của một hệ thống xử lý ảnh chuyên dụng hoặc hệ thống phục vụ nghiên cứu và đào tạo.
Hình 1-2 Các giai đoạn chính trong xử lý ảnh
Quá trình thu nhận ảnh bắt đầu bằng việc sử dụng camera, nơi ảnh có thể được ghi lại dưới dạng tín hiệu tương tự (như camera ống kiểu CCIR) hoặc tín hiệu số hóa (như loại CCD - Charge Coupled Device).
Ngoài ra, ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảm ứng (sensor) hay ảnh, tranh đƣợc quét trên scanner
Quá trình số hóa bao gồm việc chuyển đổi tín hiệu tương tự thành tín hiệu rời rạc thông qua việc lấy mẫu và lượng hóa, trước khi tiến hành xử lý, phân tích hoặc lưu trữ.
Quá trình phân tích ảnh bao gồm nhiều bước nhỏ, bắt đầu với việc tăng cường ảnh để khắc phục những suy biến do chất lượng thiết bị, nguồn sáng hoặc nhiễu Việc này giúp làm nổi bật các đặc tính của ảnh và phục hồi gần nhất với trạng thái gốc Tiếp theo, quá trình sẽ tiến hành phát hiện các đặc tính như biên, phân vùng ảnh và trích xuất các đặc điểm quan trọng.
Cuối cùng, tùy theo mục đích của ứng dụng mà sẽ là giai đoạn nhận dạng, phân lớp hay các quyết định khác.
Những vấn đề cơ bản trong xử lý ảnh
1.2.1 Những khái niệm liên quan a) Điểm ảnh (pixel element)
Ảnh tự nhiên là ảnh liên tục về không gian và độ sáng, nhưng để xử lý bằng máy tính, ảnh cần được số hoá Số hoá ảnh là quá trình chuyển đổi gần đúng một ảnh liên tục thành tập hợp các điểm ảnh (Pixel) tương ứng với vị trí và độ sáng Khoảng cách giữa các điểm ảnh được thiết lập sao cho mắt người không nhận thấy ranh giới giữa chúng, với mỗi điểm được gọi là điểm ảnh (PEL: Picture Element) Trong ảnh hai chiều, mỗi pixel tương ứng với cặp tọa độ (x, y) Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên ảnh số được hiển thị.
Khoảng cách giữa các điểm ảnh cần được lựa chọn sao cho mắt người vẫn nhận thấy sự liên tục của hình ảnh Sự lựa chọn này tạo ra mật độ phân bổ, hay còn gọi là độ phân giải, được phân bố theo trục x và y trong không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200)
Màn hình CGA 12” cho hình ảnh mịn hơn so với màn hình CGA 17” với độ phân giải 320*200, do cùng một mật độ nhưng diện tích màn hình lớn hơn dẫn đến độ mịn kém hơn Mức xám của ảnh cũng ảnh hưởng đến chất lượng hiển thị.
Độ sáng của mỗi điểm ảnh trong ảnh số được xác định bởi một giá trị nguyên dương, thường nằm trong khoảng từ 0 đến 255 Tùy thuộc vào giá trị xám, mỗi điểm ảnh có thể được biểu diễn bằng 1, 4, 8, 24 hoặc 32 bit.
Ảnh số là tập hợp hữu hạn các điểm ảnh, thường được biểu diễn dưới dạng mảng hai chiều I(m,n), trong đó m là số hàng và n là số cột Mỗi điểm ảnh được ký hiệu là P(x,y), với (x, y) là vị trí của nó Số lượng điểm ảnh trên mỗi hàng hoặc các hàng xác định độ phân giải của ảnh Ảnh số được chia thành ba loại khác nhau.
Giá trị xám của tất các các điểm ảnh chỉ nhận giá trị 1 hoặc 0 Nhƣ vậy mỗi điểm ảnh trong ảnh nhị phân đƣợc biểu diễn bởi 1 bit
Hình 1-3 Ví dụ về ảnh nhị phân
Giá trị xám nằm trong khoảng 0…255 Nhƣ vậy mỗi điểm ảnh trong ảnh nhị xám đƣợc biểu diễn bới 1 byte
Hình 1-4 Ví dụ ảnh xám
Ảnh màu theo lý thuyết của Thomas được tạo ra từ ba màu cơ bản: đỏ (R), lục (G) và lam (B), thu nhận trên các dải băng tần khác nhau Cách biểu diễn ảnh màu tương tự như ảnh đen trắng, nhưng mỗi phần tử trong ma trận đại diện cho ba màu riêng biệt Để biểu diễn một điểm ảnh màu, cần 24 bit, được chia thành ba khoảng 8 bit, mỗi khoảng thể hiện cường độ sáng của một trong ba màu chính Mỗi màu cũng có thể phân thành L cấp độ màu khác nhau, thường là L%6.
Mỗi pixel ảnh màu ký hiệu Px, được viết: (T: trong công thức dưới đây là ký hiệu chuyển vị)
Hình 1-5 Ví dụ về ảnh màu e) Các mối quan hệ cơ bản giữa các điểm ảnh
Lân cận của một điểm ảnh
Một điểm ảnh p tại tọa độ (x, y) có các lân cận theo chiều ngang và chiều dọc là: (x+1, y), (x-1, y), (x,y+1), (x, y-1)
Lân cận 4 của điểm ảnh p, ký hiệu N4(p), bao gồm các điểm ảnh xung quanh p có khoảng cách đơn vị đến tọa độ (x, y) Nếu tọa độ (x, y) nằm trên biên của ảnh, thì lân cận của nó có thể nằm ngoài ranh giới của ảnh.
Các lân cận chéo của p có tọa độ: (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1) Tập lân cận chéo đƣợc ký hiệu ND(p)
Tập lân cận chéo cùng với lân cận 4 tạo thành lân cận 8 của p, ký hiệu N8(p)
Hình 1-6 Lân cận của 1 điểm ảnh
Liên kết giữa các điểm ảnh
Các mối liên kết đóng vai trò quan trọng trong việc xác định giới hạn của đối tượng vật thể hoặc vùng trong ảnh Một liên kết được xác định bởi sự liền kề giữa các điểm và mức xám của chúng.
Giả sử V là tập các giá trị mức xám Một ảnh có các giá trị cường độ sáng từ thang mức xám từ 32 đến 64 đƣợc mô tả nhƣ sau:
+ Liên kết 4: Hai điểm ảnh p và q với các giá trị cường độ sáng V được nói là liên kết 4 nếu q nằm trong tập N4(p)
+ Liên kết 8: Hai điểm ảnh p và q với các giá trị cường độ sáng V được gọi là liên kết 8 nếu q nằm trong tập N8(p)
+ Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q với các giá trị cường độ sáng V đƣợc nói là liên kết m nếu: q thuộc N4(p) hoặc q thuộc ND(p)
1.2.2 Biểu diễn ảnh Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường, các ảnh thô đó đƣợc đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh đƣợc gọi là các đặc trƣng ảnh (Image Features) nhƣ: biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp biểu diễn thường dùng:
Biểu diễn bằng mã chạy (Run-Length Code)
Biểu diễn bằng mã xích (Chaine -Code)
Biểu diễn bằng mã tứ phân (Quad-Tree Code) a) Biểu diễn bằng mã chạy
Phương pháp này thường được sử dụng để biểu diễn vùng ảnh, đặc biệt là trong ảnh nhị phân Một vùng ảnh R có thể được mã hóa một cách đơn giản thông qua việc sử dụng một ma trận nhị phân.
U(m,n) = 1 nếu (m,n) thuộc R U(m,n) = 0 nếu (m,n) không thuộc R
Hàm U(m, n) mô tả mức xám của ảnh tại tọa độ (m, n), trong đó một vùng ảnh được biểu diễn bằng các chuỗi số 0 và 1 Đối với ảnh nhị phân, vùng ảnh tại tọa độ (x, y) được mô tả chỉ với giá trị “1”, và có thể được biểu diễn dưới dạng (x, y)r, trong đó (x, y) là tọa độ và r là số lượng bit “1” liên tục theo chiều ngang hoặc dọc.
Hình 1-7 Minh họa ảnh biểu diễn bằng mã loạt dài b) Biểu diễn bằng mã xích
Phương pháp này được sử dụng để biểu diễn đường biên ảnh bằng cách chia một đường bất kỳ thành các đoạn nhỏ Bằng cách nối các điểm chia, ta tạo ra các đoạn thẳng liên tiếp, mỗi đoạn được gán một hướng, hình thành một dây xích các đoạn Có thể chọn từ 4 đến 24 hướng, và mỗi hướng được mã hóa thành mã thập phân hoặc nhị phân.
Hình 1-8 Minh họa biểu diễn bằng mã xích
Theo Hình 1-7 ta thấy được hướng các điểm biên và mã tương ứng là:
0110764545432 c) Biểu diễn bằng mã tứ phân
Phương pháp mã tứ phân chia một vùng ảnh thành 4 vùng con, với vùng bao kín hình chữ nhật Nếu vùng con chứa toàn điểm đen (1) hoặc toàn điểm trắng (0), quá trình chia dừng lại Ngược lại, nếu vùng con có cả điểm đen và trắng, gọi là vùng xám, sẽ tiếp tục được chia Quá trình này kết thúc khi vùng con chỉ chứa điểm thuần nhất Kết quả là một cây biểu diễn với các ký hiệu b (đen), w (trắng) và g (xám), cùng với mã hóa 4 vùng con, cho thấy ưu điểm vượt trội so với các phương pháp khác, đặc biệt là mã loạt dài Tuy nhiên, việc tính toán các hình như chu vi và mô men vẫn gặp khó khăn.
Tăng cường ảnh là bước quan trọng, tạo tiền đề cho xử lý ảnh Tăng cường ảnh nhằm hoàn thiện các đặc tính của ảnh nhƣ:
Lọc nhiễu, hay làm trơn ảnh
Tăng độ tương phản, điều chỉnh mức xám của ảnh
Các thuật toán triển khai việc nâng cao chất lƣợng ảnh hầu hết dựa trên các kỹ thuật trong miền điểm, không gian và tần số
1.2.4 Phân vùng ảnh Để phân tích các đối tƣợng trong ảnh, chúng ta cần phải phân biệt đƣợc các đối tƣợng cần quan tâm với phần còn lại của ảnh Những đối tƣợng này có thể tìm ra đƣợc nhờ các kỹ thuật phân vùng ảnh
Vùng ảnh là một chi tiết trong bức ảnh, phản ánh tính chất bề mặt của nó Đây là tập hợp các điểm có đặc tính tương đồng, như mức xám hoặc màu sắc Đường bao quanh vùng ảnh được gọi là biên ảnh, và các điểm trong vùng này thường có độ biến thiên giá trị mức xám tương đối đồng đều hoặc có kết cấu tương đồng.
Các định dạng ảnh cơ bản
Ảnh sau khi số hóa thường được lưu trữ để xử lý hoặc truyền đi Trong kỹ thuật xử lý ảnh, có nhiều định dạng khác nhau như ảnh đen trắng (IMG), ảnh đa cấp xám và ảnh màu (BMP, GIF, JPEG) Mặc dù các định dạng này khác nhau, chúng đều tuân theo một cấu trúc chung Một tệp ảnh thường bao gồm ba phần cơ bản.
Dữ liệu nén (Data Compression)
Bảng 0-1 Cấu trúc một tệp ảnh
Là phần chứa các thông tin về kiểu ảnh, kích thước, độ phân giải, số bit dùng cho 1 pixel, cách mã hóa, vị trí bảng màu…
Dữ liệu nén Số liệu ảnh đƣợc mã hóa bởi kiểu mã hóa chỉ ra trong phần Header
Bảng màu không phải lúc nào cũng cần thiết, đặc biệt là trong trường hợp ảnh đen trắng Khi có bảng màu, nó sẽ chỉ ra số lượng màu được sử dụng trong ảnh và giúp hiển thị màu sắc một cách chính xác.
Ảnh Bitmap được mô tả bằng một ma trận các giá trị số, xác định màu sắc và bảng màu cho từng điểm ảnh khi hiển thị Ưu điểm nổi bật của ảnh Bitmap là tốc độ vẽ và xử lý nhanh, tuy nhiên, nhược điểm lớn nhất của nó là kích thước tệp rất lớn.
1.3.2 Ảnh JPEG (Joint Photographic Experts Group) Đây là một định dạng ảnh đƣợc hỗ trợ bởi nhiều trình duyệt web Ảnh JPEG được phát triển để nén dung lượng và lưu trữ ảnh chụp, và được sử dụng tốt nhất cho đồ họa có nhiều màu sắc, ví dụ nhƣ là ảnh chụp đƣợc scan File Ảnh JPEG là ảnh Bitmap đã đƣợc nén lại
1.3.3 Ảnh GIF (Graphics Interchange Format) Ảnh GIF đƣợc phát triển dành cho những ảnh có tính chất thay đổi Nó đƣợc sử dụng tốt nhất cho đồ họa có ít màu, ví dụ nhƣ là ảnh hoạt hình hoặc là những bức vẽ với nhiều đường thẳng File ảnh GIF là những ảnh Bitmap được nén lại
Có hai sự khác nhau cơ bản giữa ảnh GIF và ảnh JPEG:
+ Ảnh GIF nén lại theo cách giữ nguyên toàn bộ dữ liệu ảnh trong khi ảnh JPEG nén lại nhƣng làm mất một số dữ liệu trong ảnh
+ Ảnh GIF bị giới hạn bởi số màu nhiều nhất là 256 trong khi ảnh JPEG không giới hạn số màu mà chúng sử dụng
WMF là một định dạng ảnh bao gồm các lệnh GDI để mô tả nội dung hình ảnh, mang lại hai lợi ích chính: kích thước file nhỏ và khả năng hiển thị ít phụ thuộc vào thiết bị, so với ảnh Bitmap.
MỘT SỐ BÀI TOÁN VỀ XỬ LÝ ẢNH
Các bài toán cải thiện ảnh sử dụng toán tử điểm
Xử lý điểm ảnh là quá trình biến đổi giá trị của một điểm ảnh dựa vào chính giá trị của nó mà không phụ thuộc vào các điểm ảnh khác Có hai phương pháp chính để thực hiện điều này: phương pháp đầu tiên sử dụng hàm biến đổi phù hợp để chuyển đổi giá trị mức xám của điểm ảnh sang một giá trị mức xám khác, trong khi phương pháp thứ hai áp dụng lược đồ mức xám (Gray Histogram) Về mặt toán học, toán tử điểm được định nghĩa là ánh xạ từ giá trị cường độ ánh sáng u(m, n) tại tọa độ (m, n) sang giá trị cường độ ánh sáng khác v(m, n) thông qua hàm f.
Nói một cách khác, toán tử điểm là toán tử không bộ nhớ, ở đó một mức xám
Các toán tử điểm là công cụ quan trọng trong xử lý ảnh, cho phép ánh xạ giá trị pixel từ một mức sáng u sang một mức xám v, với v = f(u), trong khoảng [0, N] Chúng chủ yếu được sử dụng để điều chỉnh độ tương phản của ảnh, và các hàm ánh xạ f có thể thay đổi tùy thuộc vào từng ứng dụng cụ thể.
Giả sử ta có ảnh đầu vào I ~ kích thước (m x n) và số nguyên c
Khi đó, kỹ thuật tăng, giảm độ sáng đƣợc thể hiện qua thuật toán:
B1: Với mỗi điểm ảnh, thực hiện phép cộng mức xám của nó với giá trị c for (int i = 0; i < m; i + +) for (int j = 0; j < n; j + +)
B2: Gán giá trị độ xám mới cho điểm ảnh đầu ra
Khi c < 0, ảnh sẽ trở nên tối hơn Để minh họa cho hiện tượng này, chúng ta sẽ xem xét hai ví dụ về sự thay đổi độ sáng của ảnh gốc khi điều chỉnh với hệ số c P.
Hình minh họa: Ảnh gốc Ảnh sau khi tăng mức sáng c = +50
Hình 2-1 Ảnh sau khi tăng độ sáng (c P)
Hình minh họa: Ảnh gốc Ảnh sau khi giảm mức sáng c = -50
Hình 2-2 Ảnh sau khi giảm độ sáng (c =-50)
Độ tương phản là khái niệm quan trọng trong ảnh số, nơi mỗi điểm ảnh có giá trị độ sáng khác nhau Mặc dù độ sáng được cảm nhận bởi mắt người, nhưng không phải là yếu tố quyết định duy nhất Thực tế cho thấy, hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ tạo ra cảm nhận về độ sáng khác nhau.
Giá trị độ tương phản được tính theo công thức: ((100 + độ tương phản) / 100)² Để điều chỉnh độ tương phản cho từng điểm ảnh, thực hiện phép toán trong vòng lặp: for (int i = 0; i < m; i++) for (int j = 0; j < n; j++).
Để điều chỉnh độ tương phản của mỗi điểm ảnh, chúng ta lấy giá trị của các thành phần màu và chia cho 255, nhằm chuyển đổi giá trị vào khoảng từ 0 đến 1 Sau đó, chúng ta trừ đi 0.5; nếu kết quả âm, độ tương phản sẽ giảm, ngược lại, nếu kết quả dương, độ tương phản sẽ tăng lên.
Sau đó chúng ta cộng lại 0.5 và đổi giá trị trở về giá trị nằm trong khoảng
B3: Gán lại giá trị màu cho ảnh đầu ra
Hình minh họa: Ảnh gốc Ảnh sau khi tăng tương phản
Hình 2-3 Ảnh gốc và ảnh kết quả sau khi tăng tương phản
2.1.3 Biến đổi âm bản Ảnh âm bản là ảnh có độ sáng đảo ngƣợc lại so với ảnh gốc Âm bản nhận đƣợc bằng phép biến đổi âm Ảnh âm bản có rất nhiều hữu ích trong các phim ảnh dùng trong y học u L u f ( )
Giả sử ta có ảnh I ~ kích thước (m x n) Khi đó: Kỹ thuật biến đổi âm bản được thể hiện qua thuật toán sau:
B1: Với mỗi điểm ảnh, thực hiện phép toán thay đổi mức xám của nó for (int i = 0; i < m; i + +) for (int j = 0; j < n; j + +)
B2: Gán giá trị mức xám mới cho ảnh đầu ra
Hình minh họa: Ảnh gốc Ảnh đƣợc biến đổi âm bản
Hình 2-4 Ảnh gốc và ảnh sau khi biến đổi âm bản
2.1.4 Biến đổi ảnh đen trắng Ảnh đen trắng là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau
Kỹ thuật chuyển đổi ảnh màu sang ảnh đen trắng rất quan trọng trong quá trình quét và nhận dạng văn bản Tuy nhiên, quá trình này có thể gặp phải lỗi như "nền thành ảnh" hoặc "ảnh thành nền", dẫn đến hiện tượng ảnh bị đứt nét hoặc dính Để thực hiện chuyển đổi hiệu quả, chúng ta cần áp dụng một thuật toán cụ thể.
B1: Thực hiện vòng lặp,thay đổi giá trị độ xám của từng điểm ảnh for (i = 0; i < m; i + +) for (j = 0; j < n; j + +)
B2: Gán các giá trị độ xám mới cho ảnh đầu ra
Hình minh họa: Ảnh gốc Ảnh đen trắng
Hình 2-5 Ảnh gốc và ảnh sau khi biến đổi đen trắng
2.1.5 Biến đổi ảnh xám Ảnh xám là ảnh mà giá trị mỗi điểm ảnh nằm trong giải giá trị từ 0 đến 255, nghĩa là cần 8 bits hay 1 byte để biểu diễn mỗi điểm ảnh này Để chuyển ảnh màu thành ảnh xám chúng ta có công thức:
X,y là tọa độ của điểm ảnh
IR Là thành phần màu đỏ tại màu I(x,y)
IG là thành phần mảu xanh lá tại màu I(x,y)
IB là thành phần màu xanh dương tại màu I(x,y)
O(x,y): màu đầu ra, I(x,y): màu đầu vào Để chuyển đổi một ảnh màu sang ảnh xám ta dùng thuật toán sau:
B1: Thực hiện vòng lặp,thay đổi giá trị độ xám của từng điểm ảnh for (i = 0; i < m; i + +) for (j = 0; j < n; j + +)
B2: Gán các giá trị độ xám mới cho ảnh đầu ra
Hình minh họa: Ảnh gốc Ảnh xám
Hình 2-6 Ảnh gốc và ảnh sau khi biến đổi thành ảnh xám
2.1.6 Thay đổi màu của ảnh Để thay đổi màu của một ảnh ta dùng thuật toán sau:
B1: Thực hiện vòng lặp,thay đổi giá trị màu của từng điểm ảnh for (i = 0; i < m; i + +) for (j = 0; j < n; j + +) gán:
B2: Gán lại các màu cho ảnh đầu ra
X,y là tọa độ của điểm ảnh
IR là thành phần màu đỏ tại màu I(x,y)
IG là thành phần mảu xanh lá tại màu I(x,y)
IB là thành phần màu xanh dương tại màu I(x,y)
O(x,y): màu đầu ra, I(x,y): màu đầu vào
Với màu c.red 0; c.blue0; c.green0; Ảnh gốc Ảnh sau khi thay đổi màu
Hình 2-7 Ảnh gốc và ảnh sau khi thay đổi màu
Chức năng này cho phép chúng ta phóng to hay thu nhỏ ảnh để thực hiên chức năng zoom ảnh ta có thuật toán sau:
Thuật toán zoom ảnh: Đầu vào: Ảnh ban đầu Đầu ra: Ảnh sau khi đã zoom
Với một giá trị của zoom ta gán lại giá trị cho width và height của ảnh
Hình minh họa: Ảnh gốc Ảnh sau khi thu nhỏ 50%
Hình 2-8 Ảnh gốc và ảnh sau thu nhỏ 50% Ảnh gốc Ảnh sau khi thu phóng to 200%
Hình 2-9 Ảnh gốc và ảnh sau phóng to 200%
Bài toán về phát hiện biên ảnh
2.2.1 Khái niệm, ý nghĩa của biên trong xử lý ảnh a) Khái niệm biên
Một điểm ảnh đƣợc coi là điểm biên nếu có sự thay đổi nhanh hoặc đột ngột về mức xám (hoặc màu)
Tập hợp các điểm biên liên tiếp tạo thành một đường biên (hay đường bao) b) Ý nghĩa của biên trong xử lý ảnh
Đường biên là một đặc trưng quan trọng trong phân tích và nhận dạng ảnh, thường được sử dụng để phân tách các vùng màu sắc khác nhau Ngoài ra, các vùng ảnh cũng có thể được áp dụng để xác định các đường phân cách giữa chúng.
Hình 2-10 Các dạng đường biên trong xử lý ảnh c) Phân loại các kỹ thuật phát hiện biên
Xuất phát từ các cơ sở trên người ta thường sử dụng hai phương pháp phát hiện biên cơ bản:
Phát hiện biên trực tiếp
Phương pháp này chủ yếu dựa vào sự biến thiên độ sáng của điểm ảnh để làm nổi biên bằng kỹ thuật đạo hàm
+ Nếu lấy đạo hàm bậc nhất của ảnh: ta có phương pháp Gradient
+ Nếu lấy đạo hàm bậc hai của ảnh: ta có phương pháp Laplace
Phát hiện biên gián tiếp
Khi phân chia ảnh thành các vùng, đường biên giữa những vùng này được xác định là biên Quá trình phân vùng thường dựa vào kết cấu bề mặt của ảnh.
Phương pháp phát hiện biên trực tiếp hiệu quả và ít bị ảnh hưởng bởi nhiễu, nhưng lại kém hiệu quả khi độ sáng biến thiên không đột ngột Ngược lại, phương pháp phát hiện biên gián tiếp dù khó cài đặt nhưng lại hoạt động tốt trong những trường hợp này.
2.2.2 Các phương pháp phát hiện biên a) Phương pháp gradient
Phương pháp gradient là kỹ thuật dò biên cục bộ dựa vào cực đại của đạo hàm Gradient được định nghĩa là một véctơ với các thành phần thể hiện tốc độ thay đổi giá trị của điểm ảnh theo hai hướng x và y Các thành phần của gradient được tính bằng công thức: dx dy x f y dx x x f x f y x f ( , ) ( , ).
Khoảng cách giữa các điểm theo hướng x được ký hiệu là dx, trong khi đó dy tương ứng với khoảng cách theo hướng y Thông thường, trong thực tế, người ta thường sử dụng giá trị dx = dy = 1.
Trong phương pháp gradient, người ta chia thành 2 kỹ thuật (do dùng 2 toán tử khác nhau): kỹ thuật gradient và kỹ thuật la bàn
Gradient là một khái niệm quan trọng trong xử lý ảnh, nhưng việc tính toán nó có thể trở nên phức tạp Để đơn giản hóa mà vẫn giữ nguyên tính chất của phương pháp Gradient, người ta sử dụng hai mặt nạ H1 và H2 trực giao theo hai hướng vuông góc Nếu g1 và g2 là gradient tương ứng theo hai hướng x và y, thì biên độ A0 của gradient tại điểm g(m,n) được tính theo một công thức nhất định.
r là hướng của đường biên
Chú ý: để giảm tính toán, công thức 2.16 đƣợc tính gần đúng bởi:
Các toán tử đạo hàm đƣợc áp dụng là khá nhiều Ở đây ta chỉ xét một số toán tử tiêu biểu: Sobel, Prewitt…
Thuật toán dò biên sử dụng kỹ thuật Gradient bao gồm các bước sau: đầu vào là ma trận ảnh cần xác định biên cùng với mặt nạ Hx và Hy, và đầu ra là một ma trận ảnh chứa các đường biên đã được phát hiện.
For (mỗi điểm ảnh của ảnh) if(Nếu điểm ảnh nẳm trên đường viền ảnh)
Gán giá trị các điểm ảnh trên đường viền ảnh = 0(hoặc bằng màu nền ảnh) else
+ Tính xấp xỉ Gradient theo chiều x (Gx): nhân chập với mặt nạ Hx
+ Tính xấp xỉ Gradient theo chiều y (Gy): nhân chập với mặt nạ Hy
+ Tính giá trị điểm ảnh theo công thức xấp xỉ G:
+ Nếu giá trị điểm ảnh lớn hơn chỉ số màu của ảnh thì gán giá trị ảnh là giá trị màu lớn nhất
+ Toán tử (mặt nạ) Sobel
Toán tử Sobel đƣợc Duda và Hart đặt ra năm 1973 với các mặt nạ có cấu trúc nhƣ sau:
Với Hx, Hy lần lượt là mặt nạ theo hướng ngang (x) và hướng dọc (y)
Hình minh họa cho dò biên sử dụng toán tử Sobel: Ảnh gốc Dò biên bằng toán tử Sobel
Hình 2-11 Minh họa dò biên sử dụng toán tử Sobel
+ Toán tử (Mặt nạ)Prewitt
Toán tử đƣợc Prewitt đƣa ra vào năm 1970 sử dụng 2 ma trận:
Với Hx, Hy lần lượt là ma trận theo các hướng ngang (x) và dọc (y)
Hình minh họa cho dò biên sử dụng toán tử Prewitt: Ảnh gốc Dò biên bằng toán tử Prewitt
Hình 2-12 Minh họa dò biên sử dụng toán tử Prewitt b) Phương pháp Laplace
Các kỹ thuật sử dụng phương pháp Gradient rất hiệu quả khi độ sáng thay đổi nhanh và đơn giản nhờ vào các mặt nạ theo hướng Tuy nhiên, phương pháp này nhạy cảm với nhiễu và có thể tạo ra các biên kép, dẫn đến chất lượng biên thu được không cao Để khắc phục những hạn chế này, người ta đã xem xét việc sử dụng đạo hàm riêng bậc hai hoặc toán tử Laplace Phương pháp dò biên dựa trên toán tử Laplace cho thấy hiệu quả vượt trội hơn so với phương pháp Gradient, đặc biệt trong trường hợp mức xám thay đổi chậm và có độ trải rộng.
Toán tử Laplace đƣợc đĩnh nghĩa nhƣ sau:
Toán tử Laplace dùng nhiều kiểu mặt nạ khác nhau để xấp xỉ đạo hàm bậc hai Dưới đây là 3 kiểu mặt nạ hay dùng
Kỹ thuật Laplace cho đường biên mảnh, với độ rộng chỉ một pixel, tuy nhiên lại rất nhạy cảm với nhiễu do đạo hàm bậc hai thường không ổn định.
G là ma trận điểm thu được sau khi thực hiện phép nhân chập giữa ma trận điểm ảnh của ảnh cần tìm biên và mặt nạ H2, mà trong chương trình của em đã sử dụng.
G chính là ma trận điểm ảnh chứa các đường biên cần tìm
Thuật toán dò biên theo phương pháp Laplace sử dụng ma trận ảnh đầu vào để xác định các đường biên Đầu vào của thuật toán là ma trận ảnh cần tìm biên, được gọi là mặt nạ H2 Kết quả đầu ra là một ma trận ảnh mới, trong đó chứa các đường biên đã được phát hiện.
For (mỗi điểm ảnh của ảnh) if(Nếu điểm ảnh nẳm trên đường viền ảnh)
Gán giá trị các điểm ảnh trên đường viền ảnh =0 (hoặc bằng màu nền ảnh) else
+ Tính xấp xỉ Laplace G: nhân chập với mặt nạ H2
+ Nếu giá trị điểm ảnh lớn hơn chỉ số màu của ảnh thì gán giá trị ảnh là giá trị màu lớn nhất
Hình minh họa cho sử dụng toán tử Laplace: Ảnh gốc Dò biên ảnh theo kỹ thuật Laplace
Hình 2-13 Minh họa dò biên theo kỹ thuật Lalace – H2
CHƯƠNG TRÌNH ỨNG DỤNG
Giới thiệu về chương trình
Áp dụng lý thuyết xử lý ảnh từ hai chương trước, tôi đã phát triển một chương trình xử lý ảnh bằng ngôn ngữ C# Chương trình này giải quyết các bài toán cơ bản trong xử lý ảnh, bao gồm xử lý điểm ảnh và dò biên ảnh, đồng thời tích hợp thêm chức năng Zoom ảnh.
Dưới đây là giao diện chính của chương trình:
Giao diện menu hệ thống đƣợc thiết kế nhƣ sau:
Hình 3-1 Form menu hệ thống
Các chức năng của chương trình
3.2.1 Chức năng thao tác với file ảnh a) Chức năng mở một file ảnh (Load ảnh)
Hình 3-2 Chức năng “Mở ảnh”
Khi chọn chức năng này, một cửa sổ dialog sẽ xuất hiện để tìm kiếm file ảnh (mặc định là ổ C) Sau khi tìm thấy file ảnh và chọn OK, ảnh sẽ được tải lên form, cho phép thực hiện nhiều thao tác xử lý tiếp theo.
Hình 3-3 Form load ảnh b) Chức năng lưu ảnh (Save)
Hình 3-4 Chức năng “Lưu ảnh”
Khi sử dụng chức năng lưu ảnh, một cửa sổ dialog sẽ xuất hiện, cho phép người dùng chọn vị trí lưu trữ bức ảnh đã được xử lý trên máy tính.
Hình 3-5 Form lưu ảnh sau xử lý
Hình 3-6 Các chức năng con trong chỉnh sửa ảnh
Cho phép ta trở lại với thao tác xử lý ảnh gần nhất
3.2.3 Chức năng “Xử lý điểm ảnh”
Hình 3-7 Chức năng “Xử lý điểm ảnh”
Chức năng này cho phép thực hiện các xử lý ảnh đơn giản thông qua toán tử điểm, tức là thao tác trên từng pixel mà không liên quan đến các pixel lân cận Nó bao gồm các chức năng con sau:
Chức năng cho phép ta thay đổi độ tương phản cho ảnh(tăng hoặc giảm độ tương phản) thông qua giá trị các cận được nhập vào Form Contrast:
Hình 3-8 Form thay đổi độ tương phản
Chức năng thay đổi độ sáng của ảnh(tăng hoặc giảm sáng) thông qua giá trị đƣợc nhập vào Form:
Hình 3-9 Form thay đổi độ sáng
Chức năng cho phép ta biến đổi từ một ảnh gốc thành một ảnh âm bản(ứng dụng lớn trong y học)
Chức năng cho phép ta biến đổi từ một ảnh gốc thành một ảnh đen trắng thông
Chức năng cho phép ta biến đổi từ một ảnh màu thành một ảnh xám
Color: Bộ lọc màu sắc
Chức năng cho phép ta thêm hoặc bớt giá trị cho mỗi màu thông qua các giá trị đƣợc nhập vào Form color
Hình 3-10 Form thay đổi màu sắc
3.2.4 Chức năng “Dò biên ảnh” (Edge Detection)
Hình 3-11 Chức năng dò và làm nổi biên ảnh
Với chức năng này cho phép ta dò biên và làm nổi biên ảnh Bao gồm các chức năng con:
- Phương pháp Gradient bao gồm:
Làm nổi biên ảnh theo kỹ thuật Gradient sử dụng toán tử Sobel
Hình 3-12 Form nhập giá trị ngưỡng cho thuật toán dò biên Sobel
Làm nổi biên ảnh theo kỹ thuật Garadient sử dụng toán tử Prewitt
Hình 3-13 Form nhập giá trị ngưỡng cho thuật toán dò biên Prewitt
Làm nổi biên ảnh theo kỹ thuật Garadient sử dụng toán tử Kirsh
Hình 3-14 Form nhập giá trị ngưỡng cho thuật toán dò biên Kirsh
Làm nổi biên ảnh theo kỹ thuật Laplace sử dụng toán tử Laplace-H2
Chức này cho phép ta có thể phóng to hay thu nhỏ bức ảnh theo tỷ lệ đã cho (25%, 50%, 75% )
Hình 3-15 Chức năng “Zoom” ảnh
Chức năng này giúp chúng ta kết thúc chương trình đang chạy
Hình 3-17 Form thoát chương trình