Cơ bản về xử lý ảnh

2

S(x, y), với S là giá trị biên độ (được biểu diễn bằng màu sắc) tại vị trí không

gian (x, y).

Phân loại ảnh:

− Ảnh tương tự S(x, y): (x, y) liên tục, S liên tục.

− Ảnh số S(m,n): (m,n) rời rạc, S rời rạc.

Một ảnh (gồm một tập các điểm ảnh) có thể xem như bao gồm tập các ảnh

con (các vùng ảnh). Thuật ngữ gọi là ROIs – vùng quan tâm.

Ảnh số trong không gian rời rạc thu được từ ảnh tương tự trong không

gian liên tục thông qua quá trình số hóa. Quá trình số hóa có thể hiểu đơn giản

như sau:

+ Ảnh tương tự được chia thành M hàng, N cột.

+ Giao của hàng và cột được gọi là: pixel

+ Giá trị biên độ của pixel tại tọa độ nguyên (m, n) là s (m, n): là trung bình độ

sáng trong pixel đó. S (m, n) ≤ L (L số mức xám dùng biểu diễn ảnh). M, N

thường được chọn là M=N=2K (K=8, 9, 10). L =2B, B là số bít mã hóa cho

độ sáng (biên độ) mỗi pixel.

− Ảnh số được biểu diễn bởi ma trận 2 chiều. Các phần tử của nó là biểu diễn

cho các pixel số hóa.

− Ta ký hiệu 1 ảnh số là S (M, N). Ta nói ảnh có độ phân giải MxN. Ký hiệu S

(m, n) để chỉ ra một phần tử ảnh.

1.1.3 Mức xám.

Mức xám là kết quả của sự mã hóa tương ứng với 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. Cách mã

hóa kinh điển là dùng 16, 32 hay 64 mức. Mã hóa 256 mức được dùng phổ biến.

Do 28 = 256 nên mỗi pixel được mã hóa bởi 8 bit.

3

1.1.4 Ảnh đen trắng.

Thực tế ảnh đen trắng gồm có ảnh nhị phân và ảnh đa cấp xám. Chúng ta

phân biệt sự biến đổi thành L mức. Nếu L bằng 2, nghĩa là chỉ có hai mức 0 và

1 còn gọi là ảnh nhị phân. Nếu L lớn hơn hai mức ta có ảnh đa cấp xám. Việc

xác định số mức phụ thuộc vào tiêu chí lượng tử hóa. L thường được chọn bằng

32, 64, 128 và 256. Trong đó ảnh đa cấp xám 256 mức là ảnh có chất lượng cao

và thường được sử dụng.

Với ảnh nhị phân, mỗi pixel được mã hóa trên một bit. Còn với ảnh xám

256 mức được mã hóa trên 1 byte = 8 bit. Ảnh nhị phân khá đơn giản, các phần

tử ảnh có thể coi như phần tử logic. Ảnh nhị phân được dùng theo tính logic, để

phân biệt ảnh với nền hay đơn giản để phân biệt biên với điểm khác.

1.1.5 Ảnh màu.

Màu sắc của một tia sáng là cảm giác mà tia sáng đó gây nên ở mắt người.

Màu sắc của vật thể là màu của ánh sáng phát từ chúng. Ánh sáng này nằm trong

dải phổ nhìn thấy (visible).

Tùy theo ngữ cảnh nhất định mà ảnh màu được diễn tả theo những mô

hình màu khác nhau. Không có mô hình màu nào là đầy đủ cho mọi khía cạnh

của màu. Do đó người ta sử dụng những mô hình màu khác nhau để mô tả các

tính chất được nhận biết khác nhau của màu.

Ví dụ:

+ Mô hình màu RGB: ánh sáng Red, Green, Blue ứng dụng cho màn hình TV.

+ Mô hình HSV: Nhận thức con người.

+ Mô hình CYK: Máy in.

Chúng ta đi sâu vào một số mô hình màu sau:

− Mô hình màu RGB

4

Theo lý thuyết màu do Thomas đưa ra từ năm 1802, mọi màu đều có thể

tổ hợp từ ba màu cơ bản: Đỏ (Red), Lục (Green), Lam (Blue). Ba màu này là các

màu cơ bản của hệ màu cộng (Additive Color System). Hệ màu RGB dựa trên

cơ sở hệ thống tọa độ Cartesian – hệ thống tọa độ Decac: mỗi màu cơ bản đều

được mã hóa bởi 8 bit, vậy với ba màu phối hợp nhau tạo thành

2 24 =

16.777.216 màu thứ cấp mà mắt người có thể cảm nhận được. Ảnh màu được

lưu trữ từng màu riêng biệt như ảnh đa cấp xám. Ứng với một pixel của ảnh màu

sẽ chiếm 3 byte, do đó ảnh màu sẽ chiếm bộ nhớ gấp ba lần ảnh đa cấp xám

cùng kích thước.

Hình 1.1: Không gian màu và các màu cơ bản.

− Mô hình màu CMY:

Gồm ba màu cơ bản: Xanh Lơ (Cyan), Tím (Magenta), Vàng (Yellow), là

bù màu của không gian màu RGB, còn gọi là hệ màu trừ (Subtractive Color

System). Mối quan hệ giữa hai không gian:

C=1–R

M=1–G

Y=1–B

5

Hình 1.2: Các màu cơ bản của hệ màu CMY.

− Mô hình màu HSV (Hue, Saturation, Value) :

Dựa trên cảm nhận màu sắc của con người. Ánh sáng màu là tổ hợp của

ánh sáng đơn sắc. Mắt người chỉ có thể cảm nhận được vài chục màu, song lại

có thể phân biệt tới hàng ngàn màu. Mô hình HSV suy diễn từ mô hình RGB:

hãy quan sát hình hộp RGB theo đường chéo từ White đến Black (gốc)  ta có

hình chóp nón, sử dụng làm đỉnh hình nón HSV.

− Có ba thuộc tính chủ yếu trong cảm nhận màu:

+ Hue: bước sóng của ánh sáng, được biểu diển bằng góc từ 0 – 3600 giúp ta

phân biệt các màu khác nhau.

+ Saturation: độ bão hòa, đo độ tinh khiết của ánh sáng gốc. S nằm trong

khoảng [0-1].

+ Value (brightness): cường độ hay độ chói ánh sáng. V có giá trị trong khoảng

[0-1], V = 0 có màu đen.

− Mô hình HSV trực giác hơn mô hình RGB. Bắt đầu từ Hue (H cho trước và

V=1, S=1). Thay đổi S: bổ sung hay bớt trắng; thay đổi V: bổ sung hay bớt

đen đến khi có màu mong muốn.

Hình 1.3: Không gian màu HSV

6

1.1.6 Các định dạng cơ bản.

− Ảnh BMP (Bitmap): Là ảnh được mô tả bởi một ma trận các giá trị số xác

định màu và bảng màu của các điểm ảnh tương ứng khi hiển thị. Ưu điểm

của ảnh Bitmap là tốc độ vẽ và tốc độ xử lý nhanh. Nhược điểm của nó là

kích thước rất lớn. Cấu trúc lưu trữ của ảnh BMP:

File Header

Số

ý nghĩa

Nội dung

bytes

2

Tên, Kí hiệu

BM

4

Kích thước file ảnh

2

Dự trữ (Không dùng)

0

2

Dự trữ (Không dùng)

0

4

Byte offset in file where image begin (Kích thước vùng 54

Information và Header)

Windows 3 Bitmap Header

4

Size of this Header

4

Image width in pixels

4

Image height in pixels

2

Number of iImage planes, must be 1

2

Bits per pixel

40

1, 4, 8,

24

4

Compression type

4

Size in byte of compressed image, or 0

4

Horizontal resolution, in pixels/meter

4

Vertical resolution, in pixels/meter

4

Number of colors used

4

Number of “important” colors

4*n

Colors palette

Với ảnh 24-bits không có Colors palette

7

Thông tin điểm ảnh lưu trữ ngược với ảnh hiển thị, tức là điểm ảnh ở cuối

file ảnh là điểm ảnh sẽ được hiển thị ở góc trên bên trái màn hình và điểm ảnh ở

đầu phần dữ liệu của file ảnh sẽ là điểm ảnh hiển thị ở góc dưới bên phải màn

hình.

Quá trình phát triển của kỹ thuật xử lý ảnh tồn tại nhiều định dạng khác

nhau từ ảnh đen trắng IMG cho đén ảnh đa cấp xám, ảnh màu: PCX, GIF,

JPEG…

− Ảnh IMG: là ảnh đen trắng. Phần đầu của ảnh IMG có 16 byte chứa các

thông tin cần thiết của ảnh. Ảnh IMG được nén theo từng dòng. Mỗi dòng

bao gồm các gói, các dòng giống nhau cũng được nén thành các gói. Toàn bộ

ảnh chỉ gồm có những điểm sáng và điểm tối là các bit 0 hoặc 1.

− Ảnh PCX: là một trong những định dạng cổ điển nhất. Nó sử dụng loạt mã

dài RLE để nén dữ liệu ảnh. Quá trình nén và giải nén được thực hiện trên

từng dòng ảnh. Thực tế phương pháp nén PCX kém hiệu quả hơn kiểu IMG.

− Ảnh GIF: có lợi về không gian lưu trữ, với ảnh đen trắng kích thước tệp có

thể nhỏ hơn bản gốc từ 5-7 lần; với ảnh 16 màu, kích thước nhỏ hơn ảnh gốc

2-3 lần, có trường hợp xấp xỉ ảnh gốc. Tuy nhiên với ảnh 256 màu thì nó bộc

lộ khả năng nén rất kém.

8

− Ảnh JPEG: sử dụng chuẩn nén cho ảnh tone liên tục. Tiêu chuẩn này có thể

được ứng dụng trong nhiều lĩnh vực: lưu trữ ảnh, truyền bá báo chí, ảnh y

học, camera số.

1.2 Một số kỹ thuật tiền xử lý ảnh .

1.2.1 Chuyển ảnh xám.

Ảnh là tập hợp từ rất nhiều điểm ảnh. Với ảnh 24 bít của hệ màu RGB do

CIE đề xuất thì mỗi thành phần màu cấu tạo nên điểm ảnh có giá trị thể hiện bởi

8 bít (tức là có 256 giá trị). Mô hình màu RGB sử dụng mô hình bổ sung trong

đó ánh sáng đỏ, xanh lá cây và xanh lam được tổ hợp với nhau theo nhiều

phương thức khác nhau để tạo thành các màu khác nhau. Đối với ảnh xám,

thông thường mỗi pixel mang thông tin của 256 mức xám (tương ứng với tám

bít) như vậy ảnh xám hoàn toàn có thể tái hiện đầy đủ cấu trúc của một ảnh màu

tương ứng thông qua tám mặt phẳng bít theo độ xám.

Bước chuyển từ ảnh màu thành ảnh xám là một công đoạn phổ biến trong

các quá trình xử lý ảnh vì nó làm tăng tốc độ xử lý, giảm mức độ phức tạp của

các thuật toán trên ảnh. Để chuyển về ảnh đa cấp xám, ta cần làm cho 3 thành

phần R,G,B bằng nhau theo cách sau:

G=αR+βG+γB với điều kiện α+β+γ=1

Trong đó các giá trị R,G,B lần lượt là các mức độ màu Đỏ, Xanh lá và

Xanh biển của pixel màu.

Ảnh kết quả

9

Ảnh gốc

Ảnh xám

Hình 1.4: Chuyển ảnh xám.

1.2.2 Lọc nhiễu.

Trong nhiều lĩnh vực kỹ thuật, nhiễu đóng vai trò chủ yếu gây nên những

khó khăn khi ta cần phân tích một tín hiệu nào đó. Giữa một ảnh thực và ảnh số

hoá thu nhận được khác nhau khá nhiều vì có nhiều quá trình can thiệp vào.

Nguyên nhân là do nhiễu điện tử của máy thu hay chất lượng kém của bộ số hoá.

Giả sử ảnh là một miền có mức xám đồng nhất, như vậy các phần tử của ma trận

biểu diễn ảnh sau quá trình số hoá phải có cùng giá trị. Nhưng thực tế quan sát ta

thấy: gần giá trị trung bình của mức xám có những phần tử trội lên khá nhiều.

Đó chính là hiện tượng nhiễu. Như vậy nhiễu trong ảnh số được xem như sự

dịch chuyển nhanh của tín hiệu thu nhận trên một khoảng cách ngắn. Xem xét

một cách tương đương trong không gian tần số, nhiễu ứng với các thành phần

tần số cao trong ảnh. Do vậy, người ta nghĩ đến việc biến đổi có tính đến ảnh

hưởng của các phần tử lân cận bằng cách lấy “tổ hợp” các điểm lân cận này

(trong không gian thực) hay lọc các thành phần tần số cao (trong không gian tần

số). Đây chính là kỹ thuật lọc.

Trong kỹ thuật này, ta sử dụng một mặt nạ di chuyển khắp ảnh gốc. Tuỳ

theo cách tổ hợp điểm đang xét với các điểm lân cận mà có kỹ thuật lọc tuyến

tính hay phi tuyến. Điểm ảnh chịu tác động là điểm ở tâm mặt nạ.

Bộ lọc tuyến tính

Trong kỹ thuật lọc tuyến tính, ảnh thu được sẽ là tổng trọng số hay là

trung bình trọng số các điểm lân cận với nhân cuộn hay mặt nạ.Vì có nhiều loại

nhiễu can thiệp vào quá trình xử lý ảnh nên cần có nhiều bộ lọc thích hợp. Để

làm trơn nhiễu ta sử dụng các mặt nạ thông thấp.

10

Hình 1.5: Mặt nạ thông thấp

Lọc trung bình

Là kĩ thuật lọc tuyến tính, hoạt động như một bộ lọc thông thấp. Ý tưởng

chính của thuật toán là: ta sử dụng một cửa sổ lọc (ma trận 3x3) quét qua lần

lượt từng điểm ảnh của ảnh đầu vào input. Tại vị trí mỗi điểm ảnh lấy giá trị của

các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc “lấp” vào ma trận lọc. Giá

trị điểm ảnh của ảnh đầu ra là giá trị trung bình của tất cả các điểm ảnh trong

cửa sổ lọc. Việc tính toán này khá đơn giản với hai bước gồm tính tổng các

thành phần trong cửa sổ lọc và sau đó chia tổng này cho số các phần tử của cửa

sổ lọc.

Sơ lược một cách ngắn gọn các bước của giải thuật:

Quét cửa sổ lọc lần lượt lên các thành phần của ảnh đầu vào; điền các

giá trị được quét vào cửa sổ lọc.

Xử lý bằng cách thao tác trên các thành phần của cửa sổ lọc.

Tính giá trị trung bình các thành phần trong cửa sổ lọc.

Gán giá trị trung bình này cho ảnh đầu ra.

Nhận xét: Đây là mạch lọc tuyến tính đơn giản trong tính toán. Ảnh đạt độ

trơn mịn. Tuy vậy, nó không hoàn toàn loại bỏ tác dụng của nhiễu, các pixel đơn

lẻ (nhiễu) sẽ ảnh hưởng đến giá trị trung bình của các pixel lân cận. Nó cũng

làm cho độ sắc nét của ảnh kém cũng như độ tương phản thấp.

Ảnh kết quả:

11

Ảnh gốc

Ảnh lọc trung bình

Hình 1.6: Lọc trung bình

Lọc tuyến tính ngoài làm trơn nhiễu còn có thể trích chọn biên

(nổi biên). Dễ dàng nhận thấy rằng biên là điểm có độ biến thiên nhanh về giá

trị mức xám. Theo quan điểm về tần số tín hiệu, các điểm biên ứng với các

thành phần tần số cao. Do vậy, ta có thể dùng bộ lọc thông cao để cải thiện:

lọc các thành phần tần số thấp và chỉ giữ lại thành phần tần số cao. Vì thế, lọc

thông cao thường được dùng làm trơn biên trước khi tiến hành các thao tác với

biên ảnh. Dưới đây là một số mặt nạ dùng trong lọc thông cao:

Hình 1.7: Mặt nạ thông cao

Bộ lọc phi tuyến

Khác với lọc tuyến tính, kỹ thuật lọc phi tuyến coi một điểm ảnh kết quả

không phải là tổ hợp tuyến tính của các điểm lân cận. Người ta thường sử dụng

3 bộ lọc đó là: trung vị, giả trung vị và lọc ngoài.

a. Lọc trung vị

Điểm ảnh đầu vào sẽ được thay thế bằng trung vị các điểm ảnh. Kích

thước của sổ cũng được chọn (2k+1)x(2k+1). Lọc trung vị có tác dụng sau:

12

+ Hữu ích cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo toàn

+ Hiệu quả giảm các điểm nhiễu trong cửa sổ lớn hơn hoặc bằng một

nửa số điểm trong cửa sổ.

Ảnh kết quả:

Ảnh gốc

Ảnh lọc trung vi

Hình 1.8: Lọc trung vị

1.2.3 Nhị phân ảnh.

Phân ngưỡng hay còn gọi là nhị phân hóa. Mục đích của phân ngưỡng là

chuyển từ ảnh mầu, ảnh đa cấp xám sang ảnh nhị phân (ảnh 2 cấp xám, ảnh đen

trắng). Nếu phân ngưỡng hợp lý thì có thể phân biệt được vật thể với nền. Từ đó

ảnh hưởng lớn đến các thao tác lựa chọn vật thể đúng hay lẫn cả vào với nền.

Giả sử đã chọn được một ngưỡng L thích hợp. Ta thực hiện việc sau:

Nếu điểm ảnh có mức xám cao hơn ngưỡng L thì đặt cho nó giá trị 255

Nếu ngược lại thì đặt giá trị 0.

Từ đó ta thấy rõ ánh xạ của ảnh mới chính là 1 ánh xạ sang ảnh nhị

phân có 2 giá trị 0 và 1 (1 tương ứng với 255).

Có nhiều phương pháp để xác định giá trị ngưỡng. Một phương pháp là

thiết lập ngưỡng sao cho số lượng các điểm đen đạt một ngưỡng chấp nhận được

theo phân phối xác suất mức xám. Ví dụ, chúng ta có thể biết rằng các ký tự

chiếm 25% diện tích của một trang văn bản thông thường. Vì thế chúng ta có thể

thiết lập ngưỡng sao cho số lượng điểm đen còn lại chiếm ¼ trang văn bản. Một