You are on page 1of 66

KHOA KỸ THUẬT- CÔNG NGHỆ

TRƯỜNG ĐẠI HỌC TÂY ĐÔ

XỬ LÝ ẢNH SỐ

Biên soạn: Ks. Vương Huỳnh Long


Ths. Bùi Xuân Tùng
Xử lý ảnh ths.Bùi Xuân Tùng

Số tính chỉ 02.

Mục tiêu môn học: Cung cấp cho sinh viên một số kỹ thuật xử lý ảnh cơ bản, đồng thời
trang bị những kiến thức nền để có thể xây dựng các hệ thống thông tin hình ảnh. Sinh
viên sau khi học xong tiếp thu được các kiến thức về:

• Phân tích và xử lý ảnh.


• Hiểu thuật toán liên quan đến xử lý ảnh.
• Ứng dụng của xử lý ảnh trong thực tế.
Vị trí của môn học:

Để học tốt môn học này, người học cần có những kiến thức của 03 môn học sau:

• Lập trình căn bản.


• Phân tích và thiết kế thuật toán.
• Lý thuyết thông tin.
Sau khi học xong môn học này, để có thể ứng dụng các thuật toán này vào các ứng
dụng thực tế người học cần học các môn sau:

• Các ngôn ngữ lập trình hiện đại theo công nghệ .NET, JAVA
• Các bộ công cụ có hỗ trợ lập trình xử lý ảnh MATLAB, GNU Octive, Trí tuệ nhân
tạo
Nội dung của môn học: gồm 07 chương. Các kiến thức đi từ cơ bản đến nâng cao dần.

• Chương 1: Các khái niệm


• Chương 2: Xử lý điểm ảnh
• Chương 3: Xử lý lân cận
• Chương 4: Phục hồi ảnh
• Chương 5: Phân đoạn ảnh
• Chương 6: Xử lý hình thái học
• Chương 7: Mã hóa và giải mã

Yêu cầu:

• Nghiên cứu tài liệu trước khi đến lớp.


• Sinh viên đến lớp học đầy đủ.
• Học và tìm hiểu các khái niệm, các thuật toán và các ứng dụng của Xử lý ảnh.
• Sử dụng các công cụ Demo thuật toán xử lý ảnh và tự cài đặt một số thuật toán để
hiểu sâu hơn nội dung được trình bày trên lớp. Tài liệu học tập, tham khảo

i
Xử lý ảnh ths.Bùi Xuân Tùng

• Tài liệu học tập môn xử lý ảnh do giáo viên cung cấp, bao gồm giáo trình và slide
bài giảng trên lớp.
• Trang E-Learning do giáo viên cung cấp.
• Tài liệu tiếng Anh: o Digital Image Processing.
• Công cụ ứng dụng: o Digital Image Processing Demo.
o Matlab.
o Adobe Photoshop.

Phương pháp đánh giá

• Kiểm tra giữa kỳ (30%): có thể áp dụng 02 hình thức sau


✓ Kiểm tra lý thuyết tập trung trên lớp.
✓ Bài tập nhóm: cài đặt một vài thuật toán xử lý ảnh bằng các ngôn ngữ lập
trình hiện đại.
• Kiểm tra cuối kỳ (70%)

ii
Xử lý ảnh ths.Bùi Xuân Tùng

LỜI NÓI ĐẦU

Quyển giáo trình này được viết nhằm mục đích phục vụ cho việc giảng dạy và học
tập môn Xử lý ảnh cho sinh viên năm 04 chuyên ngành Tin học trường Đại học Tây Đô.
Quyển sách được biên soạn dựa trên sự tham khảo các tài liệu chuyên ngành Xử lý
ảnh bằng tiếng Anh và tài liệu tiếng Việt Xử lý ảnh của Thạc sĩ Dương Văn Hiếu, kỹ sư
Vương Huỳnh Long, Lương Mạnh Bá, Nguyễn Thanh Thủy.

Nội dung quyển giáo trình bao gồm hai phần: cơ sở và nâng cao.

Phần cơ sở (gồm 03 chương đầu) cung cấp cho người học các kiến thức cần thiết
và cơ bản nhất trong xử lý ảnh.

Phần nâng cao (gồm 04 chương còn lại) cung cấp cho người học các kiến thức
nâng cao trong xử lý ảnh.

Mặc dù đã cố gắng hết sức nhưng do kiến thức có hạn nên chắc hẳn rằng chúng tôi
không thể tránh khỏi những thiếu sót. Kính mong quý Thầy Cô và quý Bạn Sinh viên
thông cảm. Rất mong nhận được những ý kiến đóng góp chân thành để chúng tôi có thể
hoàn thiện nội dung quyển giáo trình.

Cần Thơ, ngày 01 tháng 07 năm 2017

Người viết sách

Bùi Xuân Tùng

iii
Xử lý ảnh

CHƯƠNG I. CÁC KHÁI NIỆM

Chương I cung cấp cho người học các khái niệm cơ bản về của xử lý ảnh, từ đó giúp
có được cái nhìn tổng quát về các kỹ thuật xử lý ảnh cũng như ứng dụng của nó. Nội
dung chương I bao gồm các kiến thức sau:

- Hình ảnh.
- Cải thiện chất lượng thông tin hình ảnh.
- Xử lý ảnh.
- Ảnh số.
- Kích thước của ảnh.
- Các khía cạnh của xử lý ảnh.
- Một vài ứng dụng của xử lý ảnh.
- Các công việc của xử lý ảnh.
- Hệ màu RGB.

1.1. HÌNH ẢNH

Hình ảnh là một bức tranh mô tả sự vật, chẳng hạn như hình con người, con vật,
phong cảnh; các hình ảnh chụp trong xét nghiệm y khoa; hình chụp trong thiên văn học,
địa chất…

Con người là sinh vật có khả năng cảm nhận hình ảnh rất cao. Thông qua các cảm
nhận về hình ảnh giúp chúng ta xác định và phân loại vật thể bằng hình ảnh, nhận biết
được sự khác nhau giữa các vật thể và có một cái nhìn tổng quát về quang cảnh. Con
người có rất nhiều kỹ năng về thị giác, chẳng hạn như chúng ta có thể nhận dạng gương
mặt của một đối tượng, phân biệt được các màu sắc khác nhau, cũng như khả năng xử lý
một lượng lớn các thông tin về hình ảnh thu được một cách nhanh chóng.

Nghiên cứu các thuật toán xử lý ảnh để cải thiện được chất lượng thông tin hình
ảnh nhằm giúp cho quá trình cảm nhận của con người được tốt hơn, đồng thời sẽ phù hợp
hơn cho việc cảm nhận hình ảnh của con người bằng máy tính.

Trang 1 Ths.Bùi Xuân Tùng


Xử lý ảnh

1.2. CẢI THIỆN CHẤT LƯỢNG THÔNG TIN HÌNH ẢNH

Cải thiện chất lượng thông tin ảnh là quá trình thao tác, xử lý nội dung ảnh nhằm
tạo ra ảnh kết quả phù hợp với mục đích cảm nhận của người xem ảnh.

Ví dụ như khi muốn xác định đường biên của các đối tượng trong ảnh thì việc xử
lý ảnh để lấy được đường biên ảnh sẽ giúp cho chúng ta cảm nhận tốt hơn về đường biên,
khi đó việc cải thiện chất lượng thông tin hình ảnh là phát hiện đường biên, cũng vậy, khi
một bức ảnh có nhiều màu đỏ và nếu điều đó làm cho người xem cảm thấy khó chịu thì
việc cải thiện chất lượng thông tin ảnh là làm giảm bớt màu đỏ trong ảnh nhằm giúp
người xem cảm thấy dễ chịu hơn.

1.3. XỬ LÝ ẢNH

Xử lý ảnh là làm thay đổi bản chất của hình ảnh nhằm để cải thiện thông tin hình
ảnh cho quá trình cảm nhận của con người .

Xử lý ảnh số là sử dụng máy tính để làm thay đổi bản chất của ảnh số nhằm để làm
cho hình ảnh trông tốt hơn, trích lọc thông tin từ hình ảnh, ghép hình, tạo các hiệu ứng
hình ảnh…

1.4. ẢNH SỐ

Hình ảnh được lưu trong các thiết bị số như máy tính, máy chụp hình kỹ thuật
số… được gọi là ảnh số.

Hình I.1. Ảnh số

Trang 2 Ths.Bùi Xuân Tùng


Xử lý ảnh

Ảnh số là một mảng hai chiều gồm các điểm ảnh (pixel), mỗi điểm ảnh được xác
định bởi tọa độ (x,y) và màu của nó.

Ảnh số được xem như một hàm số z=f(x,y), với (x,y) là tọa độ của điểm ảnh thì z
là màu của điểm ảnh có tọa độ (x,y).

Ảnh số khác với ảnh tuần tự (Analog image) là các giá trị của nó là rời rạc.

Trong các thuật toán xử lý ảnh người ta thường sử dụng 3 dạng ảnh thông dụng là
ảnh nhị phân (binary image), ảnh mức xám (gray image), ảnh màu RGB (RGB image),
ảnh chỉ mục (index image).

1.4.1. Ảnh nhị phân (Binary image)

Hình I . 2 . Ảnh nh ị phân

Gồm 2 giá trị màu: màu đen có giá trị 0, màu trắng có giá trị 1. Mỗi điểm ảnh
chiếm 1 bit để lưu trữ.

Trang 3 Ths.Bùi Xuân Tùng


Xử lý ảnh


1.4.2. nh mức xám (Gray image)

Hình I.3. Ảnh mức xám

Gồm 256 giá trị màu, mỗi điểm ảnh có giá trị đi từ 0 (đen) -> 255 (trắng) và chiếm
1 byte (8 bits) để lưu trữ.

1.4.3. Ảnh màu RGB (RGB image)

Hình I . 4 . Ả nh màu RGB

Gồm 3 kênh màu: đỏ (Red), xanh lá cây (Green), xanh da trời (Blue) vì thế được
gọi là ảnh RGB. Mỗi điểm ảnh được tính bằng 3 giá trị màu Red, Green, Blue, mỗi kênh

4
Xử lý ảnh


màu có giá trị đi từ 0->255. Vì vậy, mỗi điểm ảnh trong ảnh màu RGB chiếm 3 bytes (24
bits) để lưu trữ.
1.4.4. nh chỉ mục (Index image)

Hình I.5. Ảnh chỉ mục

Ảnh chỉ mục là ảnh màu sử dụng bảng chỉ mục kèm theo. Ví dụ như ảnh trên ở
điểm ảnh có giá trị 6 sẽ tương ứng với bộ giá trị ở vị trí thứ 7 (có chỉ mục là 6 do bắt đầu
từ 0).

1.5. KÍCH THƯỚC CỦA ẢNH

Đối với từng loại ảnh khác nhau sẽ có cách tính kích thước khác nhau. Dưới đây là
công thức tính kích thước của ảnh nhị phân, ảnh mức xám, ảnh màu RGB và ảnh Index.

1.5.1. Ảnh nhị phân

Mỗi pixel có kích thước 1 bit, mỗi byte lưu được 8 pixel. Ví dụ: ảnh có kích cỡ
255 x 255 (pixel) sẽ có kích thước = 255 x 255 x 1 bit=65,025 bits 8129 bytes 7,94
kB 0,0077 MB.

1.5.2. Ảnh mức xám

Giá trị của mức xám từ 0 đến 255. Mỗi byte lưu được 1 giá trị mức xám.Ví dụ:

5
Xử lý ảnh


ảnh có kích cỡ 255 x 255 (pixel) sẽ có kích thước =255 x 255 x 1 byte =65,025 bytes
63,5 kB 0,063 MB.

1.5.3. Ảnh màu RGB

Giá trị của các thành phần R, G, B từ 0 đến 255. Mỗi pixel cần 3 bytes để lưu các
phần R, G, B. Ví dụ: ảnh có kích cỡ 255 x 255 (pixel) sẽ có kích thước =255 x 255 x 3
byte =195,075 bytes 190 kB 0,19 MB.
1.5.4. nh chỉ mục

Kích thước của ảnh chỉ mục phụ thuộc vào bằng kích của bảng màu cộng với kích
thước của bảng chỉ mục.

1.6. CÁC KHÍA CẠNH CỦA XỬ LÝ ẢNH

Có nhiều thuật toán xử lý ảnh vì vậy để dễ phân biệt các dạng thuật toán người ta
thường phân loại các thuật toán dựa vào các nhiệm vụ và các vấn đề mà thuật toán đó
giải quyết. Các loại thuật toán trong xử lý ảnh, bao gồm:

Nâng cao hình ảnh (Image enhancement) là xử lý ảnh để kết quả phù hợp hơn
cho một ứng dụng cụ thể, bao gồm:

- Làm rõ nét hoặc mờ một trong số đối tượng trong ảnh.


- Làm nổi bật đường biên.
- Nâng cao độ tương phản hoặc độ sáng một hình ảnh. - Loại bỏ nhiễu.

Phục hồi ảnh (Image restoration) là phục hồi lại các đối tượng bị hư trong ảnh
bởi các nguyên nhân sau:

- Khử mờ gây ra bởi chuyển động .


- Loại bỏ các biến dạng quang học: hình ảnh bị chụp sai độ sáng, độ tương phản.
- Loại bỏ sự giao thoa ánh sáng.

Phân đoạn ảnh (Image segmentation) là phân chia một hình ảnh thành một hoặc
nhiều bộ phận, một số khía cạnh của một hình ảnh:

- Tìm đường, vòng tròn, hoặc hình dạng đặc biệt trong hình ảnh chẳng hạn như
xác định xe ô tô, cây cối, nhà cửa, hoặc đường giao thông.

6
Xử lý ảnh


Việc phân chia các lớp đôi khi tùy thuộc vào cảm nhận của cá nhân bởi vì có
những thuật toán có thể ứng dụng cho việc nâng cao hình ảnh hoặc phục hồi ảnh. Tuy
nhiên, ở đây chúng tôi phân loại dựa vào tính tiêu chí sau nếu thuật toán đó có tác dụng là
ảnh trông được tốt hơn (nâng cao) thì thuật toán thuộc về lớp thuật toán nâng cao hình
ảnh, hoặc loại bỏ các hư hại (phục hồi) thì thuật toán thuộc về lớp phục hồi ảnh.

7
Xử lý ảnh

1.7. MỘT VÀI ỨNG DỤNG CỦA XỬ LÝ ẢNH

Xử lý ảnh có nhiều ứng dụng, các thuật toán xử lý ảnh được xem như là bước tiền
xử lý cho các ứng dụng có liên quan tới hình ảnh. Chẳng hạn như:

- Ứng dụng trong y khoa o Xem xét và giải thích hình ảnh X quang.
o Phân tích hình ảnh tế bào.
- Ứng dụng trong nông nghiệp o Xử lý hình ảnh thu được từ vệ tinh của các khu
đất, từ đó phân loại đất để tìm loại cây trồng phù hợp.
o Phân tích tình hình sâu, bênh thông qua xử lý màu lá.
- Ứng dụng trong công nghiệp o Kiểm tra sản phẩm trong dây truyền sản xuất tự
động.
o Kiểm tra mẫu giấy.
- Các ứng dụng nhận dạng khác o Nhận dạng dấu vân tay của con người. o
Nhận dạng gương mặt con người.
o Nhận dạng chữ viết tay. o Nhận dạng ngôn ngữ ký hiệu. o Nhận dạng
chữ ký.
o Nhận dạng màu da người, ảnh khỏa thân.
o Phân tích chữ viết tay. o Chấm điểm trắc nghiệm bằng máy.

Ví dụ như một ứng dụng nhận dạng dấu vân tay sẽ thực hiện các công việc sau:

- Đầu tiên, nhận vào hình ảnh dấu vân tay của một người.
- Tiếp theo, sử dụng các thuật toán xử lý ảnh để làm lấy rõ các đặc điểm riêng
biệt của từng dấu vân tay.
- Tiếp theo, áp dụng các giải thuật của trí tuệ nhân tạo để giúp ứng dụng học
được các đặc điểm dấu vân tay và lưu trữ vào cơ sở dữ liệu.
- Cuối cùng, ứng dụng có thể nhận dạng dấu vân tay thông qua việc so khớp
hình ảnh dấu vân tay với các dữ liệu được lưu trong cơ sở dữ liệu.

1.8. CÁC CÔNG VIỆC CỦA XỬ LÝ ẢNH

Các công việc chính trong xử lý ảnh bao gồm các bước sau:

8
Xử lý ảnh

- Thu thập ảnh o Chụp/quay lại cảnh vật


bên ngoài thế giới thực.
o Chụp/quay/quét lại hình ảnh .
- Tiền xử lý ảnh o Tăng độ tương phản,
loại bỏ nhiễu…
- Phân đoạn ảnh o Trích lọc phần ảnh
phần xử lý.
- Biểu diễn và mô tả o Trích lọc đặc
điểm của hình ảnh.
- Nhận dạng và cho biết ý nghĩa o Nhận
dạng mẫu.
Mô hình

Thu thập ảnh

Tiền xử lý ảnh

Phân đoạn

Mô tả hình ảnh

Nhận dạng

Hậu xử lý
1.9. HỆ MÀU RGB

Trong hệ màu RGB, mỗi giá trị màu là tổ hợp của ba màu Red (đỏ), Green (xanh
lá cây), Blue (xanh da trời). RGB là hệ màu chuẩn của TV, máy tính.

Những diễn giải cụ thể về hệ màu này sẽ được nói rõ ở môn học Kỹ thuật đồ họa.

Dưới đây là khối lập phương thể hiện sự kết hợp của 3 màu RGB

9
Xử lý ảnh

Hình I.6. Khối màu RGB

10
Xử lý ảnh

CHƯƠNG II. XỬ LÝ ĐIỂM ẢNH

Chương II cung cấp cho người học các kiến thức về các giải thuật xử lý điểm ảnh –
mảng kiến thức cơ bản nhất trong xử lý ảnh để có thể tìm hiểu được các thuật toán nâng
cao hơn ở các chương sau. Các thao tác xử lý điểm ảnh được chia làm 3 dạng. 3 dạng đó
là:

• Biến đổi ảnh (Transforms): là chuyển các giá trị của ảnh gốc sang dạng
tương đương với ảnh gốc. Ví dụ: chuyển đổi ảnh màu RGB sang ảnh mức
xám hoặc tone màu Sepia…

• Thao tác trên điểm ảnh (Point operations): là quá trình thay đổi giá trị mức
xám của ảnh mà không cần quan tâm đến giá trị các điểm lân cận. Các
thao tác trên điểm ảnh là các thao tác đơn giản nhất và thường được sử
dụng trong tiền xử lý ảnh.

• Xử lý lân cận (Neighbourhood processing): là thay đổi giá trị của điểm ảnh
dựa trên thông tin của các điểm lân cận của điểm được xử lý. Ví dụ: phục
hồi điểm ảnh bị nhiễu bằng cách tính giá trị các điểm lân cận, làm nhòe
ảnh, nét ảnh...

2.1. THAO TÁC TRÊN ĐIỂM ẢNH

Các thao tác toán học trên điểm ảnh thường được thực hiện bằng cách áp dụng một
hàm số có dạng y=f(x) lên điểm ảnh.

Đặc điểm của hàm số y=f(x):

• Hàm số f(x) có thể là các phép toán cộng, trừ, nhân, chia… x là

giá trị mức xám cũ của điểm ảnh từ 0->255.


• y là giá trị mức xám mới của điểm ảnh.
o Nếu y>255 thì lấy y=255.

o Nếu y<0 thì lấy y=0.

2.2. TĂNG/GIẢM ĐỘ SÁNG CỦA ẢNH MỨC XÁM

11
Xử lý ảnh

Tăng/giảm độ sáng của ảnh mức xám hay còn gọi là “trượt lược đồ ảnh”.

Tăng/giảm độ sáng của ảnh mức xám là cộng từng giá trị mức xám của ảnh với
một hằng số C.

Nếu tăng độ sáng ảnh th C>0, ngược lại giảm độ sáng thì C<0.

Công thức tổng quát: f(x)=x+C

Hình II . 1 . f(x)=x+( - 30)

2.3. CHUYỂN ẢNH MÀU RGB SANG ẢNH MỨC XÁM

Để chuyển ảnh màu RGB sang ảnh mức xám thì phải thực hiện biến đổi giá trị
màu RGB sang giá trị màu mức xám.

Công thức chung cho việc chuyển đổi là nhân mỗi giá trị trên từng kênh màu của
ảnh RGB với một hệ số tương ứng.

Áp dụng công thức sau cho từng điểm ảnh:

y = x.Red * rCoef + x.Green * gCoeff + x.Blue * bCoeff


rCoef gCoef bCoef

0.299 0.587 0.114

Với:

• x.Red, x.Green, x.Blue là giá trị đỏ, xanh lá cây, xanh da trời của x.
rCoeff, gCoeff, bCoeff là các hệ số nhân tương ứng với từng kênh màu đỏ,
xanh lá cây, xanh da trời.

• y là giá trị mức xám tương ứng của x.

12
Xử lý ảnh

Hình II . 2 . Chuy ể n ả nh màu sang ả nh m ứ c xám

2.4. CHUYỂN ẢNH MÀU RGB SANG ẢNH NHỊ PHÂN

Để chuyển ảnh màu RGB sang ảnh nhị phân, thực hiện các bước sau:

• Chuyển ảnh màu sang ảnh mức xám.


• Sau đó chọn một giá trị ngưỡng T (Threshold) (giá trị ngưỡng sẽ được nói
rõ hơn ở phần Phân đoạn ảnh).

• Thực hiện việc biến đổi giá trị theo công thức sau:

Hình II . 3 . Chuy ể n ả nh màu sang ả nh nh ị phân

13
Xử lý ảnh

2.5. CHUYỂN ẢNH MÀU RGB SANG TONE MÀU SEPIA

Ảnh tone màu Sepia thực chất là ảnh màu RGB đã thông qua giải thuật biến đổi
giá trị của các thành phần màu. Kết quả là ảnh màu ban đầu sẽ có tone màu ấm hơn. Ý
tưởng chính của giải thuật này:

Lần lượt trên từng điểm ảnh:

o
o o

Hình II.4. Chuyển ảnh màu sang tone Sepia

2.6. LẤY PHẦN BÙ ẢNH

Lấy phần bù ảnh hay là lấy màu âm bản của ảnh. Các loại ảnh khác nhau thì có
công thức lấy phần bù khác nhau, cụ thể như sau:

• Đối với ảnh nhị phân:

14
Xử lý ảnh

o Áp dụng công thức: y=1-x.

Hình II . 5 . Ph ầ n bù ả nh nh ị phân

• Đối với ảnh mức xám:


o Áp dụng công thức: y=255-x.

Hình II . 6 . P h ầ n bù ả nh m ứ c xám

• Đối với ảnh màu RGB:


o Áp dụng công thức: yr=255-xr; yg=255-xg; yb=255-xb;

▪ Với xr, xg, xb là giá trị màu Red, Green, Blue của điểm ảnh x đang
xét.

Hình II . 7 . Ph ầ n bù ả nh màu RGB

2.7. LỌC KÊNH ẢNH MÀU RGB

15
Xử lý ảnh

Như đã biết, mỗi điểm ảnh của ảnh màu RGB được cấu tạo bởi 3 thành phần Red,
Green, Blue. Lọc kênh ảnh màu để lấy ra các giá trị màu trên từng kênh riêng biệt. Giải
thuật được trình bày như sau:

Lần lượt trên từng điểm ảnh: o Giữ nguyên giá trị

màu của kênh màu muốn lấy. o Đưa giá trị màu

của các kênh còn lại về 0.

Hình II . 8 L ọ c l ấ y kênh màu Green

Hình II . 9 . L ọ c l ấ y kênh màu Green và Blue

2.8. ĐẢO KÊNH ẢNH

Đảo kênh ảnh là hoán đổi vị trí giá trị màu Red, Green, Blue trên từng điểm ảnh
cho nhau. Giải thuật này được thực hiện như sau:

Lần lượt trên từng điểm ảnh, thực hiện phép thay thế:
o x.Red=x.Green; x.Green=x.Blue; x.Blue=x.Red.

16
Xử lý ảnh

Hình II . 10 , Đ ả o v ị trí các kênh ả nh

2.9. TĂNG/GIẢM GIÁ TRỊ TRÊN TỪNG KÊNH MÀU

Tăng/giảm giá trị trên từng kênh màu nhằm làm cho ảnh có màu sắc như mong
muốn. Ví dụ: ảnh dư màu đỏ và thiếu màu xanh lá cây thì để màu sắc ảnh đẹp hơn cần
thực hiện giảm màu đỏ và tăng màu xanh cho ảnh. Ý tưởng của giải thuật này như sau:
Lần lượt trên từng điểm ảnh, áp dụng các hàm số:
o o
o
o

Với:

▪ x.Red, x.Green, x.Blue là thành phần màu Red, Green, Blue của
điểm x.

▪ C1, C2, C3 là các số nguyên thuộc đoạn [-255,255].

Hình II . 11 . C1=C2=30; C3= - 20

2.10. TỔ CHỨC ĐỒ

17
Xử lý ảnh

Tổ chức đồ là một đồ thị cho biết số lần xuất hiện của mỗi giá trị mức xám trong
ảnh.

Nhận xét ảnh dựa vào tổ chức đồ

Dựa vào tổ chức tổ, người ta có thể biết được ảnh là ảnh tối, ảnh tối đều, ảnh sáng,
ảnh sáng đều, ảnh có độ tương phản đều hay ảnh mờ…

• Ảnh tối: các giá trị mức xám tập trung co cụm lại gần gốc toạ độ (khu vực
thể hiện các giá trị mức xám tối) và không có giá trị mức xám sáng.

Hình II.12. Ảnh tối và tổ chức đồ

• Ảnh tối đều: các giá trị mức xám phân bố khá đều trên dãy mức xám tối,
giá trị mức xám sáng rất ít.

Hình II . 13 . Ả nh t ố i đ ề u và t ổ ch ứ c đ ồ

• Ảnh sáng: các giá trị mức xám tập trung co cụm lại ở khoảng giá trị 255
trên trục Ox và không có giá trị mức xám tối.

18
Xử lý ảnh

Hình II . 14 . Ả nh sáng và t ổ ch ứ c đ ồ

• Ảnh sáng đều: các giá trị mức xám phân bố khá đều trên dãy mức xám
sáng, giá trị thể hiện màu tối rất ít.

Hình II . 15 . Ả nh sáng đ ề u và t ổ ch ứ c đ ồ

• Ảnh có độ tương phản đều: các giá trị mức xám từ giữa trục Ox phân bố
khá đều về 2 hướng.

Hình II . 16 . Ả nh tương ph ả n đ ề u và t ổ ch ứ c đ ồ

• Ảnh mờ: không có giá trị mức xám tối và giá trị mức xám sáng ở đầu và
cuối trục Ox.

19
Xử lý ảnh

Hình II . 17 . Ả nh m ờ và t ổ ch ứ c đ ồ

2.11. VẼ TỔ CHỨC ĐỒ

Để vẽ tổ chức đồ của ảnh, ta thực hiện các bước sau đây:

• Nếu ảnh không phải là ảnh mức xám thì chuyển sang ảnh mức xám.
• Thống kê số lần xuất hiện của các giá trị mức xám, bằng cách:
o Tạo ra một mảng Hist kiểu số nguyên, có độ lớn là 256 để lưu số lần xuất
hiện của các giá trị mức xám từ 0->255. Các giá trị ban đầu của mảng đều
bằng 0. o Lần lượt trên từng điểm ảnh, nếu điểm ảnh có giá trị mức xám là i
thì tăng giá trị phần tử Hist[i] lên 1 đơn vị.

Vẽ tổ chức đồ dựa vào kết quả thống kê: o

Vẽ trục Ox, Oy.

o Trục Ox thể hiện 256 giá trị mức xám.

o Trục Oy thể hiện số lần xuất hiện của từng giá trị mức xám có trong ảnh
(các giá trị trong mảng Hist).

2.12. CĂNG TỔ CHỨC ĐỒ

Ảnh có tổ chức đồ tập trung ở cụm nào đó đôi khi sẽ làm ảnh không đẹp vì đó là
biểu hiện của ảnh có độ tương phản thấp. Căng tổ chức đồ nhằm mục đích giãn các giá trị
đang co cụm ra xa hơn. Nếu chọn các giá trị căng hợp lý thì ảnh kết quả sẽ đẹp hơn.
20
Xử lý ảnh

Hình II . 18 . Ả nh chưa căng t ổ ch ứ c đ ồ

Ảnh gốc có tổ chức đồ tập trung từ khoảng 70->150, các mức xám tối và mức xám
sáng không có nhiều làm cho độ tương phản của ảnh thấp. Nhận thấy rằng tấm ảnh phía
trên không rõ nét là do ảnh bị dư sáng. Như vậy để cho ảnh dễ nhìn hơn thì cần phải tăng
độ tối cho ảnh và khi căng tổ chức đồ theo nhận xét trên thì tổ chức đồ mới sẽ có các giá
trị mức xám giãn về phía gốc trục Ox và ảnh kết quả sẽ dễ nhìn hơn.

Hình II . 19 . Ả nh sau khi căng t ổ ch ứ c đ ồ

Giãn tổ chức đồ của ảnh được thực hiện như sau:

• Chọn giá trị đoạn mức xám cũ là [a,b]. Ví dụ, [a,b] = [70,140].
• Chọn giá trị đoạn mức xám mới là [c,d]. Ví dụ, [c,d] = [20,160].
• Lần lượt trên từng điểm ảnh, thực hiện công thức sau:
j = (d-c)/(b-a)*(i-a)+c

o Với:

▪ i là giá trị mức xám cũ.

▪ j là giá trị mức xám mới sau khi căng.

21
Xử lý ảnh

▪ [a,b] là đoạn giá trị mức xám xác định ban đầu.

▪ [c,d] là đoạn giá trị mức xám muốn được căng tới.

2.13. ĐỀU HÓA TỔ CHỨC ĐỒ

Căng tổ chức đồ sẽ đạt được kết quả tốt nếu như có hiểu biết về tổ chức đồ của
ảnh. Trong trường hợp không biết nhận xét tổ chức đồ thì có một thuật toán tự động căng
các giá trị mức xám ra, gọi là đều hóa tổ chức đồ. Khi đều hóa tổ chức đồ thì ảnh kết quả
có khi đẹp hơn hoặc xấu hơn so với ảnh gốc.

Dựa vào tổ chức đồ của ảnh Đức Phật Thích Ca Mâu Ni bên dưới, ta nhận thấy
rằng ảnh có độ tương phản khá đều và các giá trị mức xám tối, mức xám sáng không có
nhiều. Nếu ảnh có được sự phân bố các giá trị mức xám đồng đều ở khoảng tối và sáng
thì chắc chắn ảnh sẽ đẹp hơn.

Hình II . 20 . Ả nh chưa đ ề u hóa t ổ ch ứ c đ ồ

Sau khi thực hiện thuật toán đều hóa, ảnh kết quả có các giá trị mức xám đồng đều
hơn, ảnh kết quả sáng hơn so với ảnh gốc và các chi tiết nổi bật hẳn lên như: vầng hào
quang, gương mặt, con nai, lá cây, hoa sen và núi...

22
Xử lý ảnh

Hình II . 21 . Ả nh sau khi đ ề u hóa t ổ ch ứ c đ ồ

Để thực hiện đều hóa tổ chức đồ, thực hiện các bước sau:

Ảnh gốc có các thông tin sau: o Có

L giá trị mức xám từ 0 -> L-1.

o Có ni điểm ảnh có mức xám i (thực hiện thống kê).

o Tổng số điểm ảnh trong ảnh là n.

Ví dụ:

Công thức biến đổi giá trị mức xám i:

23
Xử lý ảnh

CHƯƠNG III. XỬ LÝ LÂN CẬN

Ở phần xử lý điểm (point processing) thì một tấm ảnh sẽ được thay đổi bằng cách
áp dụng một hàm số lên từng điểm ảnh. Xử lý lân cận là dạng mở rộng của xử lý điểm.
Phương pháp này tính giá trị mới của một điểm ảnh cho dựa vào giá trị của các điểm lân
cận. Mỗi điểm ảnh sẽ có 8 điểm lân cận sau:
p(i-1,j-1) p(i-1,j) p(i-1,j+1)

p(i,j-1) p(i,j) p(i,j+1)

p(i+1,j-1) p(i+1,j) p(i+1,j+1)


Hình III.1. Điểm ảnh p(i,j) và các điểm lân cận

Người ta thường dùng mặt nạ (mask) trong xử lý lân cận. Mặt nạ thường là một
hình chữ nhật có chiều dài và chiều rộng là số lẻ. Ví dụ: sử dụng mặt nạ để lọc điểm ảnh.

Hình III.2. Điểm ảnh p(x,y) và kết quả chập mặt nạ

Sự kết hợp giữa mặt nạ và hàm thì tạo thành bộ lọc (filter). Nếu một giá trị mức
xám được tính bởi một hàm tuyến tính của tất cả các giá trị trong mặt nạ với các điểm lân
cận của nó thì bộ lọc đó được gọi là bộ lọc tuyến tính (linear filter).

3.1. BỘ LỌC TUYẾN TÍNH

Một bộ lọc tuyến tính được cài đặt bằng cách nhân tất cả các phân tử trong mặt nạ
với các phần tử lân cận tương ứng, sau đó cộng các tích lại với nhau.

Ví dụ, có mặt nạ M và ảnh P gồm 3 dòng, 5 cột:

24
Xử lý ảnh

Hình III.3. Mặt nạ M và ảnh P

Công thức tính giá trị kết quả mới cho điểm p(i,j):

Mô hình tổng quát:

Hình III.4. Mô hình tổng quát cho xử lý lân cận

Ví dụ:

• Cho mặt nạ 3x3 và ảnh kích thước 5x5 như sau:

25
Xử lý ảnh

• Tính ảnh kết quả? o Bước 1: Chập mặt nạ từ góc trên bên phải

của ảnh.

Giá trị mới của điểm ảnh có giá trị 50 được tính như sau:

o Bước 2: Di chuyển mặt nạ sang phải 1 vị trí.

Giá trị mới của điểm ảnh có giá trị 70 được tính như sau:

o Bước 4, 5, 6, 7, 8, 9, áp dụng cách tính như trên. o Sau bước 9,

ta có ảnh kết quả kích thước 3x3 như sau:

26
Xử lý ảnh

3.2. XỬ LÝ ĐƯỜNG BIÊN

Trong ví dụ trên, ảnh kết quả nhỏ hơn ảnh gốc 2 dòng, 2 cột vì đã bỏ qua đường
biên của ảnh khi áp dụng bộ lọc lên ảnh.

Trong thực tế, khi áp dụng bộ lọc lên ảnh thì thường dùng hai phương pháp để xử
lý đường biên, đó là bỏ qua đường biên hoặc thêm biên giả.

3.2.1. Bỏ qua đường biên (Ignore the edges)

Với bộ lọc nxn, khi bỏ qua đường biên thì ảnh kết quả sẽ bị mất đi (n-1) dòng và
(n-1) cột.

Ví dụ: ảnh gốc có kích thước là 5x5 và bộ lọc có kích thước là 3x3.

Công thức (n-1) = (3-1) = 2, vậy ảnh kết quả sẽ mất đi 2 dòng, 2 cột và ảnh
kết quả có kích thước là 3x3.

Hình III.5. Ảnh bị mất biên


27
Xử lý ảnh

3.2.2. Thêm biên giả toàn số 0 (Pad with zeros)

Bằng cách thêm biên giả cho ảnh gốc, khi chập ảnh gốc với bộ lọc thì ảnh kết quả
sẽ có kích thước bằng với ảnh gốc. Số dòng và cột được tính thêm vào biên giả là (n-1).

Ví dụ: ảnh gốc có kích thước là 5x5 và bộ lọc có kích thước là 3x3.

Hình III.6. Ảnh giữ nguyên được biên

Công thức (n-1) = (3-1) = 2, vậy ảnh gốc sau khi thêm biên giả sẽ có kích
thước là 7x7. Sau đó, áp mặt nạ lên ảnh gốc mới, khi đó ảnh kết quả sẽ có
kích thước là 5x5 tức là kích thước ảnh kết quả bằng với kích thước ảnh
gốc trước khi thêm biên giả.

3.3. BỘ LỌC

3.3.1. Thành phần có tần số thấp (Low frequency components)

Thành phần có tần số thấp là những thành phần ảnh mà các giá trị mức xám ở gần
nhau trong ảnh ít có sự khác biệt, chẳng hạn như nền ảnh (background), da (skin).

3.3.2. Thành phần có tần số cao (High frequency components)

Thành phần có tần số cao là những thành phần ảnh mà các giá trị mức xám ở gần
nhau trong ảnh có sự khác biệt rõ rệt, chẳng hạn như đường biên (edge), nhiễu (noise).
28
Xử lý ảnh

3.3.3. Bộ lọc tần số thấp (High pass filter)

Lọc tần số thấp là giảm bớt hay loại bỏ đi các thành phần có tần số thấp. Đặc điểm
của bộ lọc tần số thấp là tổng các giá trị trong mặt nạ bằng 0. Bộ lọc tần số thấp thường
dùng để phát hiện đường biên.

Ví dụ:

Áp dụng bộ lọc ở trên lên ảnh sẽ lấy được đường biên dọc của ảnh.

Hình III . 7 . L ấ y biên d ọ c ả nh b ằ ng b ộ l ọ c t ầ n s ố th ấ pmsp

3.3.4. Bộ lọc tần số cao (Low pass filter)

Lọc tần số cao là giảm bớt hay loại bỏ đi các thành phần có tần số cao. Bộ lọc tần
số cao thường là các mặt nạ nxn mà các phần tử trong mặt nạ có giá trị là 1/(nxn). Bộ lọc
tần số cao còn được gọi là bộ lọc trung bình (average filter) và có xu hướng làm mờ ảnh,
làm mờ đường biên.

Ví dụ:

Áp dụng bộ lọc tần số cao kích thước 9x9 để làm mờ ảnh

29
Xử lý ảnh

Hình III . 8 . Làm m ờ ả nh b ằ ng b ộ l ọ c t ầ ng s ố cao

3.3.5. Xử lý giá trị ngoài đoạn [0,255]

Khi áp dụng bộ lọc vào ảnh, giá trị mức xám mới của một điểm sẽ rơi vào 3 trường
hợp sau:

• Trường hợp 1: nhỏ hơn 0 (<0).

• Trường hợp 2: lớn hơn 255 (>255).


• Trường hợp 3: thuộc đoạn từ 0 đến 255 ([0,255]).
Khi giá trị mới rơi vào trường hợp 1 hoặc 2 thì cần phải xử lý cho chúng trở về
đoạn [0,255]. Có 2 cách xử lý:

• Gọi x là giá trị mức xám cần xử lý.


• Gọi y là giá trị mức xám của x sau khi xử lý. o Cách 1: Cắt giá trị (Clips

values)

o Cách 2: Chuyển đổi tỷ lệ (Scaling transformation)

▪ Với gL và gH là giá trị nhỏ nhất và lớn nhất của ảnh.

30
Xử lý ảnh

CHƯƠNG IV. PHỤC HỒI ẢNH

Mục đích của việc phục hồi ảnh là loại bỏ hoặc giảm bớt các điểm ảnh hay phần
ảnh bị hư, kém chất lượng. Kỹ thuật phục hồi ảnh thường được thực hiện bằng thao tác
xử lý lân cận.

4.1. NHIỄU

Nhiễu được định nghĩa như là sự suy giảm chất lượng tín hiệu ảnh do sự nhiễu
loạn bất thường từ bên ngoài.

Nếu hình ảnh được truyền từ nơi này sang nơi khác thông qua các phương tiện
truyền tải như vệ tinh, cáp mạng, sóng vô tuyến... thì hình ảnh có thể bị nhiễu.

Nhiễu có nhiều dạng nhưng nếu biết được dạng nhiễu thì sẽ có cách khử nhiễu phù
hợp.

4.2. NHIỄU MUỐI TIÊU (SALT AND PEPPER)

Nhiễu muối tiêu hay còn gọi là impulse noise, shot noise, binary noise. Nhiễu
muối tiêu làm xuất hiện những điểm đen, trắng khắp ảnh.

Hình IV.1. Ảnh nhiễu muối tiêu

4.3. NHIỄU DẠNG GAUSSIAN (GAUSSIAN NOISE)

31
Xử lý ảnh

Đây là dạng lý tưởng hóa của nhiễu trắng được gây ra bởi sự thay đổi bất thường
của tín hiệu. Nhiễu Gaussian thường thấy khi xem TV. Mô hình của nhiễu Gaussian được
mô tả như sau:

• Gọi I là ảnh số.


• N là ma trận các điểm trắng tuân theo luật phân phối Gaussian.
• I+N là ảnh bị nhiễu.

Hình IV . 2 . Ảnh nhi ễ u Gaussian

4.4. NHIỄU LỐM ĐỐM (SPECKLE NOISE)

Nhiễu lốm đốm gần giống như nhiễu Gaussian nhưng không tuân theo quy luật
nhất định. Giá trị của điểm ảnh bị nhiễu bằng giá trị gốc của điểm ảnh nhân với một số
ngẫu nhiên nên còn gọi là multiplication noise.

Nhiễu dạng này gây ra nhiều khó khăn, nhất là trong ứng dụng rada.

32
Xử lý ảnh

Hình IV.3. Ảnh nhiễu lốm đốm

4.5. KHỬ NHIỄU

4.5.1. Lọc trung bình (average filter)

Người ta thường dùng các bộ lọc trung bình để làm mờ ảnh, khi ảnh bị mờ thì các
giá trị nhiễu cũng bị mờ theo.
Ví dụ, khử nhiễu với các bộ lọc trung bình 3x3, 5x5, 7x7, 9x9.

Hình IV.4. Ảnh nhiễu gốc

33
Xử lý ảnh

Hình IV.5. Ảnh khử nhiễu lần lượt qua các bộ lọc 3x3, 5x5, 7x7, 9x9

4.5.2. Lọc trung vị (median filter)

Với phương pháp lọc trung bình thì ảnh kết quả có xu hướng bị mờ. Bộ lọc càng
lớn thì ảnh sẽ càng mờ đi. Để cải thiện tình trạng trên, phương pháp lọc trung vị ra đời
với ý tưởng như sau:

• Giá trị trung vị là giá trị nằm giữa ở một dãy số được xếp thứ tự.
• Nếu dãy có 2n+1 số thì giá trị trung vị là số thứ n.
• Nếu dãy có 2n số thì giá trị trung vị là trung bình của số thứ n và n+1.
Lọc trung vị là một ví dụ của lọc không tuyến tính sử dụng ma trận 3x3, kết quả là
giá trị nằm giữa của các giá trị trong mặt nạ sau khi sắp xếp.

Ví dụ:

• Có ma trận 3x3 như sau:

• Các giá trị sau khi sắp xếp:

• Kết quả là giá trị 255 sẽ được thay bằng giá trị 60.

34
Xử lý ảnh

Hạn chế của phương pháp lọc trung vị là chậm, do mỗi lần tính giá trị mới phải
thực hiện sắp xếp nxn lần.

Hình IV.6. Lọc nhiễu muối tiêu bằng phương pháp trung vị

CHƯƠNG V. PHÂN ĐOẠN ẢNH

Phân đoạn ảnh là thao tác phân một ảnh vào các nhóm ảnh hoặc chia nhóm các đối
tượng trong ảnh. Phân đoạn ảnh được sử dụng trong các ứng dụng nhận dạng ảnh.

Nội dung chính của phần này là:

• Giá trị ngưỡng (Threshold value).


• Giá trị ngưỡng thích nghi (Adaptive Threshold).
• Phát hiện đường biên của các vật thể trong ảnh.
• Mã hóa và giải mã đường biên.

5.1. GIÁ TRỊ NGƯỠNG

Để phân nhóm một ảnh, người ta sẽ so sánh từng điểm trong ảnh với một giá trị ngưỡng
(threshold) được chọn trước, sau đó sẽ quyết định điểm đang xét thuộc vào nhóm nào của
ảnh. Giá trị ngưỡng (threshold) là một phần quan trọng trong phân đoạn ảnh.

5.2. NGƯỠNG ĐƠN (SINGLE THRESHOLD)

35
Xử lý ảnh

Để phân các giá trị trong ảnh ra thành 2 nhóm, người ta thường dùng giá trị
ngưỡng đơn (single threshold). Ví dụ, để chuyển ảnh mức xám sang ảnh nhị phân, đầu
tiên chọn một giá trị ngưỡng T, sau đó xét từng điểm trên ảnh mức xám với giá trị T để
quyết định điểm đó sẽ là màu đen hay màu trắng. Công thức tổng quát:

Hình V.1. Ngưỡng đơn T= 100

5.3. NGƯỠNG ĐÔI (DOUBLE THRESHOLD)

Phương pháp này chọn ra hai giá trị ngưỡng T1 và T2. Nếu giá trị đang xét thuộc
đoạn [T1,T2] thì phân vào lớp A, ngược lại thì phân vào lớp B. Công thức tổng quát:

Ví dụ: dùng 2 giá trị ngưỡng để đưa ảnh mức xám về ảnh nhị phân.

Hình V . 2 . Ngư ỡ ng đôi [T1,T2]=[90,115]

5.4. ỨNG DỤNG CỦA GIÁ TRỊ NGƯỠNG

Giá trị ngưỡng rất hữu ích trong các trường hợp sau đây:

36
Xử lý ảnh

• Khi muốn loại bỏ những chi tiết không cần thiết để tập trung vào các chi
tiết chính của ảnh. Ví dụ như hình hạt gạo ở phía dưới, khi chuyển ảnh mức
xám sang ảnh nhị phân sẽ làm cho hạt gạo rõ hơn, từ đó hỗ trợ trong việc
xác định hình dạng, kích thước, cũng như chất lượng gạo.

Hình V.3. Loại bỏ nền để làm rõ đối tượng

• Làm lộ ra các chi tiết ảnh bị ẩn. Ảnh gốc bên dưới là một tờ giấy trắng, giả
sử một tờ giấy đủ chất lượng là nếu toàn bộ giá trị mức xám của nó phải lớn
hơn giá trị mức xám 241, như vậy tờ giấy bên dưới không phải là tờ giấy đủ
chất lượng.

Hình V . 4 . Làm l ộ các chi ti ế t b ị ẩ n

Hình V . 5 . Lo ạ i b ỏ n ề n

5.5. NGƯỠNG THÍCH NGHI

37
Xử lý ảnh

Trong vài trường hợp thì giá trị ngưỡng đơn hay đôi đều không thể phân đoạn ảnh
được hoàn hảo. Chẳng hạn như tấm ảnh dưới đây.

Hình V.6. Ảnh mức xám có giá trị thay đổi từ tối đến sáng

Ảnh có giá trị thay đổi từ tối đến sáng nếu chỉ dùng một giá trị ngưỡng đơn cố
định để tách đối tượng trong ảnh thì không được. Giả sử khi chọn giá trị ngưỡng đơn
T=100, ảnh kết quả ảnh như sau:

Hình V.7. Ngưỡng đơn T=100

Rõ ràng trong trường hợp này thì giá trị ngưỡng đơn hay đôi đều không phù hợp.
Ảnh trên có các giá trị mức xám đi từ tối đến sáng theo chiều từ trái qua phải, vì vậy để
lấy được các đối tượng trong ảnh thì chia ảnh thành nhiều phần theo chiều dọc và mỗi
phần sẽ chọn một giá trị ngưỡng phù hợp. Cụ thể ở ảnh này sẽ chia thành 4 phần như hình
bên dưới, và mỗi phần sẽ chọn một giá trị ngưỡng thích hợp.

38
Xử lý ảnh
Hình V.8. Chia ảnh và áp dụng giá trị ngưỡng thích nghi bằng phương pháp Hotsu

5.6. PHÁT HIỆN ĐƯỜNG BIÊN

Đường biên chứa các thông tin rất quan trọng và hữu dụng của ảnh. Đường biên
được dùng để xác định kích thước của các đối tượng trong ảnh. Để phát hiện đường biên
thì có nhiều cách làm.

Xét hai tấm ảnh dưới đây:

Ở cột 2 và cột 3 của hình bên phải, các giá trị mức xám có sự khác biệt rõ rệt và sự
khác biệt giữa chúng vượt trên 100. Các giá trị mức xám ở cột 3 chính là giá trị biên của
một đối tượng nào đó. Ý tưởng chính của các thuật toán phát hiện đường biên là tìm cách
lấy được những giá trị mức xám có sự khác biệt lớn như vậy. Các thuật toán phát hiện
đường biên là dùng kết hợp bộ lọc đường biên dọc và ngang hoặc dùng phương pháp
Homogenity Edge, phương pháp Difference Edge, hoặc 1 vài bộ lọc tần số thấp.

5.6.1. Phát hiện đường biên bằng bộ lọc đường biên dọc và ngang

Một trong những thuật toán phát hiện đường biên là sử dụng kết hợp bộ lọc đường
biên dọc và đường biên ngang để lấy được toàn bộ đường biên của ảnh. Công thức tổng
quát như sau:

• Gọi px là kết quả lọc đường biên song song với trục Oy. (đường biên dọc).

• Gọi py là kết quả lọc đường biên song song với trục Ox. (đường biên ngang).

• Gọi p là kết quả tổng hợp, thì giá trị của p được tính như sau:

Trong thực tế, để thuận lợi cho việc cài đặt thuật toán, người ta thường sử
dụng một trong hai công thức sau:

39
Xử lý ảnh

Max{|px|, |py|} hoặc |px|+|py|

Hình V.9. Lọc đường biên kết hợp bộ lọc đường biên dọc và ngang

• Dưới đây là một số bộ lọc đường biên dọc và ngang thông dụng:

MASK Gx Gy

Sobel -1 0 1 -1 -2 -1
-2 0 2 0 0 0
-1 0 1 1 2 1
Prewitt -1 0 1 -1 -1 -1
-1 0 1 0 0 0
-1 0 1 1 1 1
Kirsh 5 -3 -3 -3 -3 -3
5 0 -3 -3 0 -3
5 -3 -3 5 5 5

5.6.2. Phát hiện đường biên bằng phương pháp Homogenity

Gọi x là điểm đang xét thì các giá trị xung quanh x sẽ như sau:

40
Xử lý ảnh

Lần lượt xét trên từng điểm, theo công thức:


y = Max (|x-P1|, |x-P2|, |x-P3|, |x-P4|, |x-P5|, |x-P6|, |x-P7|, |x-P8|)

Hình V.10. Lọc đường biên bằng phương pháp Homogenity

5.6.3. Phát hiện đường biên bằng phương pháp Difference

Công thức của phương pháp Difference như sau:

y = Max (|P1-P5|, |P2-P6|, |P3-P7|, |P4-P8|)

Hình V . 11 . L ọ c đư ờ ng biên b ằ ng phương pháp Difference

5.6.4. Phát hiện đường biên bằng một số bộ lọc tần số thấp

Một số bộ lọc tần số thấp có thể lọc được đường biên:


0 1 0 1 1 1 -2 1 -2

41
Xử lý ảnh

1 -4 1 1 -8 1 1 4 1

0 1 0 1 1 1 -2 1 -2

(1) (2) (3)

Hình V . 12 . L ọ c đư ờ ng biên b ằ ng b ộ l ọ c t ầ n s ố th ấ p (1)

5.7. MÃ HÓA VÀ GI Ả I MÃ ĐƯ Ờ NG BIÊN

Sau khi phát hiện ra đường biên ảnh, người ta thường dùng thuật toán mã hóa
đường biên để lưu những giá trị biên nhằm tiết kiệm không gian lưu trữ. Khi cần xem lại
hình ảnh đường biên thì sẽ thực hiện giải mã biên.

5.7.1. Mã hóa đường biên

Có nhiều cách lưu đường biên của ảnh và cách lưu đường biên được sử dụng nhiều
nhất là mã hóa đường biên. Các bước mã hóa đường biên như sau:

• Lưu tọa độ điểm bắt đầu của đường biên.

• Chọn hướng đi của đường biên, thường chọn ngược chiều kim đồng hồ.
• Xác định hướng di chuyển của điểm ảnh tiếp theo, lưu hướng di chuyển.
Ví dụ:

• Mã hóa đường biên cho ảnh bên dưới:

42
Xử lý ảnh

• Một điểm ảnh có 8 điểm liên thông với nó tức là từ 1 điểm ảnh có 8 hướng
đi khác nhau và được mã hóa thành 8 con số từ 1->8:

Hình V.13. Mã hóa 8 điểm liên thông của một điểm

o Bước đầu tiên, chọn điểm bắt đầu đường biên bằng cách xét từ trái qua
phải, từ trên xuống dưới, gặp điểm thuộc đường biên đầu tiên thì chọn
điểm đó là điểm bắt đầu. Vậy, chọn điểm (2,0) là điểm bắt đầu.

o Tiếp theo, từ điểm bắt đầu lần lượt mã hóa đường biên theo sơ đồ hướng
đi của 8 điểm liên thông đã chọn. Kết quả mã hóa đường biên sẽ là:
(2,0) 1, 8, 8, 7, 6, 6, 5, 4, 4, 3, 2.

5.7.2. Giải mã đường biên

Để giải mã được cách mã hóa ở trên, cần có những thông tin sau:

o Tập tin mã hóa đường biên. o Sơ đồ mã hóa hướng đi

của 8 điểm liên thông.

Các bước giải mã:

43
Xử lý ảnh

o Đầu tiên, xác định tọa độ điểm bắt đầu của đường biên
chính là tọa độ (x,y) trong tập tin mã hóa đường biên. o Tiếp
theo, lần lượt lấy các con số trong tập tin mã hóa so khớp với
hướng đi trong sơ đồ mã hóa để xác định được tọa độ điểm
biên tiếp theo, sau đó vẽ điểm đó lên ảnh kết quả.

44
Xử lý ảnh

CHƯƠNG VI. HÌNH THÁI HỌC

Xử lý hình thái học là một nội dung trong xử lý ảnh. Nội dung của phần này sẽ nghiên
cứu các thao tác xử lý hình thái học, bao gồm:

• Các phép biến đổi cơ bản: tịnh tiến và phản chiếu.


• Giãn ảnh và xói mòn ảnh.
• Khe hở và lỗ đóng của ảnh.

6.1. CÁC PHÉP BIẾN ĐỔI CƠ BẢN

6.1.1. Tịnh tiến ảnh (Translation)

Tịnh tiến ảnh là di chuyển các điểm ảnh theo một đoạn d theo một hướng cho
trước. Gọi:

A là ảnh cần tịnh tiến.

w(x,y) là tọa độ tịnh tiến.

(a,b) là tọa độ của điểm ảnh trong tập hợp A.

• Aw là kết quả tịnh tiến ảnh A theo hướng ow một đoạn |ow|, công thức tính
Aw: Aw={(a,b) + (x,y) : (a,b) A}

• Ví dụ: tịnh tiến A theo hướng w(2,2)

Hình VI . 1 . T ị nh ti ế n ả nh theo hư ớ ng w(2,2)

45
Xử lý ảnh

o A={(1,0); (0,1); (1,1); (2,1); (1,2)} và w=(2,2) o

Aw={(a,b)+(2,2) : (a,b) A}

 Aw={(3,2); (2,3); (3,3); (4,3); (3,4)}

6.1.2. Phản chiếu ảnh (Reflection)

Phản chiếu của một điểm ảnh là điểm đối xứng của nó qua một phương trình
đường thẳng y=-x. Gọi:

• A là ảnh cần phản chiếu.


• (x,y) là tọa độ của điểm ảnh trong tập hợp A.
• Â là kết quả ảnh phản chiếu, công thức Â: Â={(-x,-y) : (x,y) A}

Ví dụ:

Ảnh
phản

Ảnh
gốc

Hình VI.2. Ảnh gốc và ảnh phản chiếu

o A={(2,0); (1,1); (2,1); (3,1); (1,2); (2,2); (1,3)} o Â={(-

2,0); (-1,-1); (-2,-1); (-3,-1); (-1,-2); (-2,-2); (-1,-3)}

6.2. GIÃN ẢNH VÀ XÓI MÒN

Giãn ảnh và xói mòn ảnh là những thao tác cơ bản bậc một trong xử lý hình thái
học bởi vì tất cả các thao tác khác đều được thực hiện dựa trên sự kết hợp của hai phương
pháp này.

6.2.1. Giãn ảnh

46
Xử lý ảnh

Giãn ảnh là quá trình giãn một ảnh A theo các hướng và độ lớn cho trước dựa vào
các điểm trong thành phần cấu trúc B (structuring elements hay kernel). Công thức:

Công thức trên có nghĩa là với mọi điểm x thuộc B thì Ax là kết quả tịnh tiến của
ảnh A theo điểm x. Sau đó, lấy hợp tất cả các ảnh Ax để được ảnh kết quả.

Giãn ảnh có tính chất giao hoán:

Ví dụ: Ta có ảnh gốc A và thành phần cấu trúc B như sau:

Tịnh tiến A với các tọa độ trong B được các kết quả như sau:

Lấy hợp các ảnh tịnh tiến được ảnh kết quả:

47
Xử lý ảnh

Ví dụ:

Hình VI . 3 . Ả nh g ố c và ả nh sau khi giãn

6.2.2. Xói mòn ảnh

Cho trước ảnh A và thành phần cấu trúc B. Phần xói mòn của A bởi B là tập hợp
các điểm w(x,y) sao cho Bw thuộc A . Các bước thực hiện tìm xói mòn của A bởi B:

• Bước 1: Thực hiện di chuyển B trong A và tìm ra những vị trí mà B nằm


trọn trong A. Sau đó lấy tọa độ tương ứng với điểm (0,0) của B.

• Bước 2: Kết quả xói mòn ảnh chính là hợp của các điểm đã tìm được ở
bước 1.
Công thức:

Ví dụ: ảnh gốc A và ma trận B như sau:

48
Xử lý ảnh

Tìm tất cả các điểm mà B nằm trọn trong A:

Ảnh kết quả:

Ví dụ minh họa:

Hình VI . 4 . Ả nh xói mòn

49
Xử lý ảnh

6.2.3. Ứng dụng của giãn và xói mòn

Kết hợp giữa giãn ảnh và xói mòn ảnh có thể phát hiện được đường biên ảnh. Cho
A là ảnh chứa đối tượng cần phát hiện đường biên và B là thành phần cấu trúc gồm các
điểm đối xứng, khi đó:

• Đường biên trong được phát hiện theo công thức:

Công thức này có nghĩa là lấy A hiệu với kết quả xói mòn của A theo B.

• Đường biên ngoài được phát hiện theo công thức:

Công thức này có nghĩa là lấy kết quả giãn của A theo B hiệu với A.

• Đường dốc hình thái học được phát hiện theo công thức:

Công thức này có nghĩa lấy kết quả giãn của A theo B hiệu với kết quả xói
mòn của A theo B.

Ví dụ:

50
Xử lý ảnh

Ví dụ minh họa:

Hình VI.5. Ảnh gốc và thành phần cấu trúc

Hình VI.6. Đường biên trong và đường biên ngoài

51
Xử lý ảnh

Hình VI.7. Đường dốc hình thái học

6.3. KHE HỞ VÀ PHẦN ĐÓNG

Khe hở và phần đóng được xem như là các thao tác bậc hai trong xử lý hình thái
học bởi vì chúng được xây dựng dựa trên cơ sở của giãn và xói mòn.

6.3.1. Khe hở (Opening)

Cho A là ảnh gốc và thành phần cấu trúc B thì công thức khe hở của A theo B như
sau:

Công thức này có nghĩa là khe hở của A theo B là lấy phần kết quả của A xói mòn
theo B đem giãn với B.

Ví dụ:

52
Xử lý ảnh

Ví dụ minh họa:

Hình VI . 8 . Khe h ở

6.3.2. Phần đóng (Closing)

Cho trước A là ảnh gốc và thành phần cấu trúc B thì công thức phần đóng của A
theo B như sau:

Công thức này có nghĩa là phần đóng của A bởi B là kết quả của A giãn với B đem
xói mòn với B.

Ví dụ:

Ví dụ minh họa:

Hình VI . 9 . Ph ầ n đóng

53
Xử lý ảnh

6.3.3. Ứng dụng của khe hở và phần đóng

Khi sử dụng kết hợp khe hở và phần đóng, có thể khử được nhiễu dạng muối tiêu
theo công thức khử nhiễu sau:


Ví dụ minh họa:

( A  B) ( A  B) B

Hình VI.10. Lọc nhiễu muối tiêu bằng khe hở và phần đóng

6.4. TÔ MÀU 4 LIÊN THÔNG

Tô màu 4 liên thông là một trong những phương pháp tô màu cổ điển trong xử lý ảnh.
Giải thuật được thực hiện như sau:

• Chọn 1 điểm P bất kỳ thuộc vùng ảnh muốn tô màu.


• Chọn màu cần tô là X.
• Nếu P không phải là biên thì: o Giá trị màu của điểm P là X.

o Thực hiện đệ quy trên 4 điểm liên thông của P.

• Ngược lại dừng giải thuật.

54
Xử lý ảnh

Hình VI . 11 .a. Ả nh c ầ n tô biên Hình 2.65.b. Ảnh k ế t qu ả

CHƯƠNG VII. MÃ HÓA VÀ NÉN ẢNH

Mã hóa và nén ảnh để tiết kiệm không gian lưu trữ. Có 2 dạng nén ảnh là nén ảnh mất
thông tin và nén ảnh không mất thông tin.

Nén ảnh không mất thông tin là phương pháp nén ảnh mà khi giải nén, ảnh kết quả
bảo toàn được thông tin của ảnh gốc. Khi giải nén sẽ nhận được ảnh giống như ảnh gốc
trước khi nén.

Nén ảnh mất thông tin là phương pháp nén ảnh bỏ qua những thông tin ít quan trọng
(tần số xuất hiện thấp) trong ảnh được nén. Ảnh sau khi nén sẽ không thực sự giống ảnh
gốc nhưng cũng không khác quá nhiều, các thông tin quan trọng trong ảnh gốc đều được
giữ lại.

Phần này đề cập đến hai phương pháp nén ảnh không mất thông tin là mã hóa
Huffman và mã hóa Runlength.

7.1. MÃ HÓA HUFFMAN

Thay vì sử dụng mã có độ dài cố định (8 bits) để biểu diễn một giá trị mức xám,
người ta sử dụng mã có độ dài thay đổi nhằm tốn ích không gian lưu trữ ảnh. Để thực
hiện mã hóa Huffman, cần có chương trình mã hóa ảnh và giải mã ảnh.

• Nguyên tắc của mã Huffman:


o Giá trị màu có tần số xuất hiện nhiều nhất thì được mã hóa bằng từ mã
có độ dài ngắn nhất.

o Giá trị màu có tần số xuát hiện càng nhỏ thì độ dài của từ mã càng lớn.

55
Xử lý ảnh

• Tính chất của mã Huffman:


o Được gọi mã tối ưu vì nó thỏa điều kiện của bảng mã tối ưu từ tập dữ
liệu cho trước. Mã Huffman còn gọi là mã giải mã tức thời (hay gọi là
bảng mã tức thời) vì không có tồn tại từ mã nào tiền tố của từ mã khác.

• Các bước trong mã Huffman:


o Bước khởi tạo:

▪ Thống kê số lần xuất hiện của từng giá trị màu trong ảnh đã cho.

▪ Sắp xếp các giá trị mức xám theo thứ tự giảm dần của tần số.

o Bước 1:
▪ Thủ tục lùi: ghép các giá trị và lưu vết.

o Bước 2:

▪ Thủ tục tiến: phân rã các giá trị trong thủ tục lùi và gán từ mã.

o Bước cuối:

▪ Sử dụng bảng mã có được để mã hóa ảnh đã cho.

• Thủ tục lùi:


o Sắp xếp các giá trị mức xám x1, x2,..., xn theo chiều giảm dần của số lần
xuất hiện.

o Trong khi n>2:

▪ Ghép 2 giá trị có số lần xuất hiện nhỏ nhất (xn-1, xn) thành 1 giá trị
mới xn-1, n. Giá trị mới có giá trị bằng tổng số lần xuất hiện của 2
giá trị ban đầu.

o Lưu vết việc ghép giá trị.

o Sắp xếp lại các giá trị theo chiều giảm dần của số lần xuất hiện.

o Thực hiện lại việc lặp.

• Thủ tục tiến (ngược lại với thủ tục lùi): o Bước đầu tiên của thủ tục tiến
tương ứng với bước cuối cùng trong thủ tục lùi.

56
Xử lý ảnh

o Gán từ mã cho biến thứ nhất là 0, biến thứ hai là 1.

o Trong khi còn giá trị ghép:

▪ Tách giá trị ghép thành 2 giá trị ban đầu.

▪ Gán từ mã cho 2 giá trị sau khi tách bằng từ mã của giá trị ghép
thêm phần “đuôi” là 0 cho giá trị thứ nhất và 1 cho giá trị thứ hai.

Ví dụ: Tìm bộ mã Huffman để mã hóa ảnh mức xám bên dưới.

• Bước khởi tạo: Thống kê số lần xuất hiện của mức xám

57
Xử lý ảnh

• Thủ tục lùi:

58
Xử lý ảnh

• Thủ tục tiến:

59
Xử lý ảnh

Các từ mã
trong bộ

Huffman
được sinh
ra để nén
ảnh đã cho

Kết quả:

01101110110101110010010010111000010…

7.2. MÃ HÓA RUNLENGTH CHO ẢNH NHỊ PHÂN

Mã hóa Runlength chủ yếu là dùng để mã hóa ảnh nhị phân. Ý tưởng của mã
Runlength là mã hóa một chuỗi số 0 và số 1 bằng cách lặp lại các số 0 và 1 trong mỗi
chuỗi. Mã hóa từng dòng riêng biệt, bắt đầu với số lượng số 0.

60
Xử lý ảnh

0 1 1 0 0 0 Dòng 1: 1 số 0, 2 số 1, 3 số 0

0 0 1 1 1 0 Dòng 2: 2 số 0, 3 số 1, 1 số 0

1 1 1 0 0 1 Dòng 3: 0 số 0, 3 số 1, 2 số 0, 1 số 1

0 1 1 1 1 0 Dòng 4: 1 số 0, 4 số 1, 1 số 0

0 0 0 1 1 1 Dòng 5: 3 số 0, 3 số 1

1 0 0 0 1 1 Dòng 6: 0 số 0, 1 số 1, 3 số 0, 2 số 1

Kết quả mã hóa : 123-231-0321-141-33-0132.

7.3. MÃ HÓA RUNLENGTH CHO ẢNH MỨC XÁM

Cho ảnh mức xám như hình bên dưới:

Hình VII.1. Các giá trị của ảnh mức xám

Thực hiện mã hóa Runlength cho ảnh mức xám như sau:

• Chuyển giá trị mức xám sang nhị phân 4 bits.


• Tách ảnh đã cho thành 4 ảnh thành phần (plane) o Ảnh 1: bít thứ nhất

o Ảnh 2: bit thứ hai o

Ảnh 3: bit thứ ba o

Ảnh 4: bit thứ tư

• Áp dụng RLC cho từng ảnh.


61
Xử lý ảnh

Chú ý: Sau khi tách ra làm 4 ảnh thành phần, phải áp dụng thuật toán RLC cho các ảnh
0th, 1st, 2nd, 3rd như phần 7.2 đã trình bày thì mới kết thúc việc mã hóa.

62

You might also like