Tải bản đầy đủ
TỔNG QUAN VỀ XỬ LÝ ẢNH

TỔNG QUAN VỀ XỬ LÝ ẢNH

Tải bản đầy đủ

Xử lý ảnh là một lĩnh vực đang được quan tâm, xử lý ảnh có quan hệ mật
thiết với nhận thức về ảnh của con người. Tổng quát với hệ thống xử lý ảnh như
sau:

Hình 1: Các bước cơ bản của hệ thống xử lý ảnh
Theo sơ đồ trên, ảnh cần được xử lý sẽ thu qua hệ thống thu nhận ảnh. Hệ thống
thu ảnh này bao gồm các thiết bị chụp ảnh như camera, máy quét, máy scanner,
máy chụp hình, TiVi camera…
Ảnh sau khi thu nhận qua hệ thống thu nhận ảnh sẽ tiền xử lý, trích chọn đặc
trưng, hậu xử lý,sau đó ảnh đượclưu thành file để đưa vào máy tính xử lý, lưu
trữ, hoạc được đem ra đối sánh để đưa ra kết luận. Một số hệ thống có thể bao
gồm các chức năng lấy mẫu và số hóa ảnh.
Có nhiều loại file ảnh khác nhau: file bitmap, file jpeg, file gif,. Ảnh gốc sau
khi đã số hóa được đưa vào máy tính để xử lý. Và tùy theo từng ứng dụng cụ thể
mà chọn ra các cách xử lý thích hợp.

5

1.2 Các vấn đề cơ bản trong xử lý ảnh
1.2.1 Một số khái niệm

 Pixel (Picture Element): Phần tử ảnh
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng.
Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hóa ảnh. Trong quá
trình số hóa người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá
trình lấy mẫu (rời rạc hóa về không gian) và lượng tử hóa thành phần giá trị (rời
rạc hóa biên độ giá trị), về nguyên tắc bằng mắt thường không phâ biệt được hai
mức kề nhau. Do vậy người ta sử dụng khái niệm Pixel- phần tử ảnh. Mỗi pixel
gồm một cặp tọa độ x,y và màu. Cặp tọa độ x,y tạo nên độ phân giải (resolution).
 Ảnh: Là một tập hợp các điểm ảnh. Khi được số hóa, nó thường được biểu diễn
bởi mảng hai chiều l (n,p): n là số dòng, p là số cột. ta nói ảnh gồm n*p pixel. Ta
ký hiệu l (x,y) để chỉ một điểm ảnh.
 Mức xám (Gray level): Là kết quả của sự mã hóa tương ứng một cường độ sáng
của mỗi điểm ảnh với một giá trị số - kết quả của quá trình lượng tử hóa.
 Lược đồ mức xám (Histogram): Là mộ hàm cung cấp tần suất xuất hiện của mỗi
mức xám. Lược đồ mức xám được biểu diễn bởi hệ tọa độ vuông góc x,y. Trong
hệ tọa độ này, trục hoành biểu diễn số mức xám từ 0 đến N, N là số mức xám (Số
điểm ảnh có cùng mức xám).
1.2.2 Thu nhận ảnh
Muốn xử lý ảnh trên máy tính ta cần phải số hóa ảnh, tức là đưa ảnh từ
thực tế vào máy tính. Ta dùng các thiết bị thu nhận như: Camera cộng với bộ
chuyển đổi tương tự số AD (Analog to Digital) hoặc máy quét chuyên dụng.
1. 2.3 Biểu diễn ảnh
Ảnh có thể biểu diễn dưới dạng tương tự hoặc tín hiệu số. Trong biểu diễn số
của các ảnh đa mức xám, một ảnh được biểu diễn dưới dạng một ma trận hai
chiều. Mỗi phần tử của ma trận biểu diễn cho mức xám, hay cường độ sáng của

6

ảnh tại vị trí đó. Mỗi phần tử trong ma trận được gọi là phần tử ảnh, thông
thường ký hiệu là PEL (Picture Element) hoặc là điểm ảnh (Pixel).

 Với ảnh đen trắng: Nếu dùng 8 bit (1 byte) để biểu diễn mức xám thì số các mức
xám có thể biểu diễn được là 2 8 hay 256. Mỗi mức xám được biểu diễn dưới
dạng là một số nguyên nằm trong khoảng từ 0 đến 255, với mức xám 0 biểu diễn
cho mức cường độ sáng nhất và 255 biểu diễn cho mức cường độ đen nhất.
 Với ảnh màu: Cách biểu diễn cũng tương tự như đối với ảnh đen tráng, chỉ khác
là các số tại mỗi phần tử của ma trận biểu diễn cho ba màu riêng rẽ gồm : Đỏ
(red), lục (green), lam (blue). Để biểu diễn cho một điểm ảnh màu cần 24bit, 24
bit này được chia thành ba khoảng 8bit. Mỗi khoảng này biểu diễn cho cường độ
sáng của một trong các màu chính. Để hiểu được việc số hóa ảnh ta xem hình4.
Trong đó độ sáng trung bình của mỗi hình chữ nhật bằng giá trị một điểm ảnh.

Hình 2: Biểu diễn của một mức xám của ảnh số
Sau quá trình số hóa ta sẽ thu được một ma trận tương ứng với ảnh cần
xét, mỗi phần tử của ma trận tương úng với một điểm ảnh. Các điểm này thường
được đặc trưng bởi tọa độ màu RGB tương ứng với nó trong hệ tọa độ màu cơ
bản sau:

`

7

Hình 3: Hệ tọa độ màu RGB
Về mặt toán học ta có thể xem ảnh như là một hàm hai biền(x,y), với x,y
là các biến tọa độ. Giá trị số tại điểm (x,y) tương ứng với giá trị xám hoặc độ
sáng của ảnh.
1.2.4 Các lĩnh vực xử lý ảnh
1.2.4.1 Nâng cao chất lượng ảnh
Nâng cao chất lượng ảnh là quá trình xử lý ảnh để nâng cao chất lượng của
ảnh. Nó làm nổi bật một số đặc tính nào đó của ảnh nhằm phục vụ cho hiển thị
hoặc các quá trình phân tích tiếp theo. Tùy theo các ứng dụng khác nhau mà
chúng ta có các kỹ thuật nâng cao chất lượng ảnh khác nhau. Nâng cao chất
lượng ảnh có quan hệ gần gũi với khôi phục ảnh. Khi một ảnh bị nhiễu, thì khôi
phục ảnh gốc thường đưa đến nâng cao chất lượng ảnh. Có một số khác biệt giữa
khôi phục và nâng cao chất lượng ảnh. Trong khôi phục ảnh, một ảnh gốc bị
nhiễu, và mục tiêu là làm cho ảnh sau khi xử lý càng giống ảnh gốc càng tốt. Còn
nâng cao chất lượng ảnh thì mục tiêu là làm cho ảnh sau khi xử lý được tốt hơn
khi chưa xử lý. Như vậy một ảnh không bị nhiễu thì không thể được xử lý bằng
các kỹ thuật khôi phục ảnh nhưng ảnh đó có thể được xử lý bằng các kỹ thuật
nâng cao chất lượng ảnh. Nhưng một ảnh bị nhiễu thì nó có thể được xử lý vừa
bằng các kỹ thuật khôi phục ảnh và nâng cao chất lượng ảnh.
1.2.4.2 Khôi phục ảnh
Bất kỳ ảnh nào được thu bằng các thiệt bị điện, hay quang điện, hay
quang học thường bị nhiễu bởi các môi trường cảm biến của các thiệt bị đó. Các
loại nhiễu có thể là nhiễu hệ thống, bị mờ do lệch tiêu điểm của camera, nhiễu
ngẫu nhiên do chuyển động giữa camera và các đối tượng được chụp, nhiễu do
khí quyển.
Khôi phục ảnh dùng các bộ lọc để lọc các ảnh bị nhiễu để giảm tối thiểu
sự ảnh hưởng của các loại nhiễu này cho ra ảnh kết quả càng gần giống với ảnh
gốc càng tốt. Hiệu quả của các bộ lọc khôi phục ảnh phụ thuộc vào sự nhận biết
về quá trình nhiễu cùng với quá trình thu nhận ảnh. Khôi phục ảnh thường được
8

xử lý trên miền tần số là chủ yếu. Bao gồm các kỹ thuật lọc ngược, lọc bình
thường tối thiểu.
1.2.4.3 Phân tích ảnh
Là quá trình suy luận, tính toán dựa vào các đặc tính thể hiện trên hình
ảnh để từ đó rút ra được các thông tin định lượng về ảnh. Phân tích ảnh có thể
tách biên các vật thể trên ảnh, đo lường, phân loại, mô tả, so sánh chúng. Mặt
khác, từ việc phân tích ảnh cũng có thể suy ra các số liệu thống kê về hình ảnh.
Phân đoạn ảnh(Segmentation) là một hướng riêng của phân tích ảnh. Phân
đoạn ảnh bao gồm các kỹ thuật phân tách các đối tượng của ảnh thành những đối
tượng có những nét đặc trưng của nó oặc tách biệt hoàn toàn giữa đối tượng và
nền. Mục đích là để cho dễ quan sát và xử lý.
1.2.4.4 Nén ảnh
Nén ảnh bao gồm các kỹ thuật nén dữ liệu hình ảnh nhằm giảm tối thiểu dung
lượng ảnh, ảnh nén trước khi mô tả hay xử lý cần được giải nén.
1.2.4.5 Tổng hợp ảnh
Tạo ra hình ảnh từ những hình ảnh khác hoặc từ các số liệu không phải ảnh.
Quá trình tổng hợp ảnh được sử dụng khi một hình ảnh mà ta muốn có nhưng
không hề thu nhận được (do ảnh không có thực).
1.2.5 Một số hệ thống xử lý ảnh cơ bản
Một hệ thống xử lý ảnh cơ bản có thể bao gồm: Máy tính cá nhân kèm
theo vi mạch chuyển đổi đồ họa VGA hoặc SVGA, đĩa chứa các ảnh mà bạn
dùng để kiểm tra các thuật toán và một màn hình có hỗ trợ VGA hoặc SVGA.
1.3 Một số phương pháp xử lý ảnh
1. 3.1 Kỹ thuật tăng giảm độ sáng
Tăng cường độ sáng (Brightness) của một ảnh có thể được hiểu như sự
phát sáng toàn bộ ảnh. Hay nói một cách cụ thể đó là sự phát sáng toàn bộ của
mọi Pixel trong ảnh đó.

9

Đây là một kỹ thuật khá đơn giản: để tăng thêm độ sáng, tất cả các Pixel của
ảnh cần được cộng thêm giá trị điều chỉnh vào mọi kênh màu RGB. Tuy kỹ thuật
này đơn giản nhưng nó đem lại hiệu quả khá cao và rất hay được sử dụng trong
lĩnh vực xử lý ảnh. Nó giúp ích rất nhiều trong các ngành như y học, địa lý, quân
sự,... trong việc phân tích và nhận dạng.
Ở đây điều chỉnh Brightness không chỉ được sử dụng để làm sáng lên những
ảnh tối mà còn được sử dụng để làm tối đi các ảnh sáng. Một ảnh sáng hoàn toàn
đơn giản là tất cả các Pixel đều màu trắng trong khi một ảnh tối tất cả các Pixel
đều màu tối. Sự khác nhau duy nhất trong làm tối một ảnh là trừ đi giá trị điều
chỉnh vào mỗi kênh màu R - G - B của ảnh.
Đối với mỗi kênh màu, chúng chỉ nhận các giá trị [0..255]. Chính vì thế khi
tăng cường hay giảm độ sáng của một ảnh ta phải chú ý đến ngưỡng của các
kênh. Điều đó có nghĩa là với mỗi kênh màu của một Pixel nếu nhỏ hơn 0 thì ta
phải gán bằng 0 và nếu lớn hơn 255 thì ta phải gán bằng 255.
Biểu thức cho kỹ thuật Brightness có dạng:
g(x,y) = f(x,y) + b
Trong đó b là hằng số cộng thêm vào giá trị màu f(x,y). Độ sáng của ảnh tăng
nếu b > 0, và giảm bớt nếu b < 0.
Thuật toán chung được miêu tả bằng :
If (Brightness = True) Then // Tăng độ sáng
NewValue = OldValue + Adjustment;
Else NewValue = OldValue - Adjustment; // Giảm độ sáng
If (NewValue < ValueMin) Then NewValue = ValueMin;
If (NewValue > ValueMax) Then NewValue = ValueMax;
Để cho thuật giả này nhanh hơn, chúng ta phân ra hai mức làm sáng

10

(Lightening) và làm tối (Darkening). Việc phân ra làm hai mức là có hai lý do.
Thứ nhất là khi làm sáng ảnh thì không phải kiểm tra nếu giá trị màu dưới 0 và
khi làm tối ảnh cũng không phải kiểm tra nếu giá trị màu trên 255. Lý do thứ hai
quan trọng hơn. Đó là một Byte chỉ giữ những giá trị giữa 0 và 255. Mà phạm vi
điều chỉnh màu lại nằm trong [-255..255]. Điều đó có nghĩa là nếu chúng ta
không phân ra làm hai mức thì giá trị điều chỉnh màu phải là Int và khi đó việc
xử lý tốn thêm thời gian sau mỗi vòng lặp.
Thuật toán trên có thể được cải tiến như sau:
If (Brightness = True) Then
NewValue = OldValue + Adjustment;
If (NewValue > 255) Then NewValue = 255;
Else

// Brightness=False

NewValue = OldValue - Adjustment;
If (NewValue < 0) Then NewValue = 0;
Với biến điều chỉnh màu Adjustment được khai báo kiểu Byte.

(a)

(b)

(c)

Hình 4: Ảnh gốc (a); ảnh đã giảm độ sáng (b); ảnh đã được tăng cường độ sáng
(c).

11

Sử dụng giải thuật này, ta có kết quả như trong hình 4. Ta nhận thấy rằng
những điểm đã sáng trắng trong ảnh gốc không được làm sáng hơn và các điểm
đã tối đen trong ảnh gốc cũng không được làm tối hơn.
1.3.2 Tăng giảm độ tương phản
Độ tương phản (Contrast) thể hiện sự thay đổi cường độ sáng của đối
tượng so với nền, hay nói cách khác, độ tương phản là độ nổi của điểm ảnh hay
vùng ảnh so với nền.
Ảnh số là tập hợp các điểm, mà mỗi điểm có giá trị độ sáng khác nhau. Ở đây,
độ sáng để mắt người dễ cảm nhận ảnh song không phải là quyết định. Thực tế
chỉ ra rằng hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ
cho cảm nhận khác nhau. Vì vậy ta có thể thay đổi độ tương phản của ảnh sao
cho phù hợp.
Việc làm tăng độ tương phản rất hữu ích khi tiến hành xử lý trước theo
phương pháp phân ngưỡng. Bằng việc làm tăng độ tương phản, sự khác nhau của
giá trị nền và đối tượng, độ dốc của cạnh đối tượng được tăng lên. Do đó sau khi
làm tăng độ tương phản ta có thể tìm các giá trị màu thích hợp với một vùng sáng
hơn.
Trong một ảnh có độ tương phản cao, có thể xác định được các viền rõ ràng và
chi tiết khác nhau của ảnh đó được nổi bật. Còn trong một ảnh có độ tương phản
thấp, tất cả các màu đều gần như nhau gây khó khăn cho việc xác định các chi
tiết của ảnh.
Hình sau mô tả việc tăng và giảm độ tương phản đối với ảnh gốc.

(a)

(b)

(c)
12

Hình 5: (a) Ảnh gốc; (b) Ảnh đã giảm độ tương phản; (c) Ảnh đã tăng độ tương
phản.

Biểu thức cho kỹ thuật Contrast có dạng:
g(x,y) = af(x,y)

(3.3)

Trong đó a là hằng số nhân vào giá trị màu tại f(x,y). Độ sáng của ảnh tăng
nếu a > 1, và giảm bớt nếu a < 1.
Thuật toán được miêu tả như sau :
NewValue=OldValue/255; // Biến đổi đến một phần trăm
NewValue=NewValue - 0.5;
NewValue=NewValue*ContrastValue; //ContrastValue thuộc [-1,1]
NewValue=NewValue + 0.5;
NewValue=NewValue*255;
If (NewValue > 255) Then NewValue = 255;
If (NewValue < 0) Then NewValue = 0;
Biểu thức Brightness và Contrast có thể được kết hợp lại để có được biểu
thức sau:
g(x,y) = af(x,y) + b

(*)

Từ biểu thức (*) có thể điều chỉnh cả giá trị Brightness và Contrast.
1.3.3 Tách ngưỡng
Ta chọn hai mức Thấp - Min, Cao - Max và giá trị ngưỡng λ, khi đó giá trị
các pixel được định nghĩa lại như sau:
+ Inew(x, y) = Max nếu I(x, y) >= λ
+ Inew(x, y) = Min nếu I(x, y) < λ
Ví dụ ảnh phân ngưỡng theo 2 mức giá trị màu 0 và 255:

13

(a)

(b)
Hình 6: (a):ảnh xám. (b):ảnh đen trắng

1.3.4 Phép giãn ảnh đa cấp xám
1.3.4.1 Định nghĩa
Với ảnh đa cấp xám IMxN, THxK là mẫu. Gọi R là ảnh kết quả của của phép
giãn ảnh I bởi mẫu T. Khi đó R có kích thước (M+H-1, N+K-1) và được xác định
như sau:
+ I(x, y) = 0 với x= -(H-1) . .-1 hoặc M .. M+H-2; y = -(K-1) . .-1 hoặc N ..
N+K-2
+ R(x, y) = Max {I(x-i, y-j)+T(i,j)} với i = 0..H-1; j = 0..K-1; x=0.. M+H-1;
y=0..N+K-1
1.3.4.2 Thuật toán

VD: Cho ảnh I và mẫu T
như sau:
2 2 2

1 2

2

4 2

3 4

2

2 2

14

B1: Thêm các Pixel có mức xám = 0 vào xung quanh biên I sao cho kích
thước của ảnh là (M+2*H-2)x(N+2*K-2).
0 0 0 0 0
2 2 2

0 2 2 2 0

2 4 2

0 2 4 2 0

2 2 2

0 2 2 2 0
0 0 0 0 0

1

2

4 3

1 2 3

8 7 6

3

4

2 1

4 0 5

5 0 4

T’

6 7 8

3 2 1

T

B2: Quay mẫu T đi 180o được T’
B3: Dịch chuyển mẫu T’ trên ảnh I theo trật tự từ trên xuống dưới, từ trái sang
phải sao cho pham vi mẫu của T’ nằm trong ảnh I. Ở mỗi lần dịch chuyển, pixel
ảnh kết quả tương ứng có mức xám bằng giá trị lớn nhất của tổng các cặp pixel
của mẫu T’ và ảnh I tương ứng. Kết quả thu được có thể giảm đi cùng một giá trị
xám thích hợp.

15