Chương
1
Giới thiệu về xử lý ảnh
1.1 Giới thiệu
Cuốn sách này cung cấp cho các bạn những lý thuyết cơ bản và các phương
pháp thông dụng trong lĩnh vực xử lý ảnh. Trong chương 1, chúng tôi sẽ giới thiệu
với bạn một vài khái niệm và thuật ngữ cần thiết. Chúng tôi cũng giới thiệu sơ
lược các kiến thức tổng quát và các thiết bị cần thiết cho một hệ thống xử lý ảnh.
Cuối cùng là phần giới thiệu chung về nội dung của các chương trong cuốn sách.
1.2 Chuẩn bị cơ bản
Xử lý ảnh có quan hệ mật thiết với nhận thức về ảnh của con người. Nói một
cách khác, “thị giác máy" dựa trên phép xử lý ảnh bằng sự phân tích của máy.
Theo một số tác giả, hai lĩnh vực: xử lý ảnh số và “thị giác máy" được liên kết
chặt chẽ với nhau. Tuy nhiên, đến nay, cả hai lĩnh vực này đã hoàn thiện đến mức
chúng có thể cho phép giải quyết mỗi vấn đề một cách riêng rẽ. Trong cuốn sách
này, chúng tôi sẽ trình bày về lĩnh vực xử lý ảnh số, phát triển các thuật toán và
cung cấp những ví dụ cụ thể. Lĩnh vực về “thị giác máy" sẽ được trình bày trong
một cuốn sách khác. Xử lý ảnh số có rất nhiều ứng dụng như làm nổi các ảnh
trong y học, khôi phục lại ảnh do tác động của khí quyển trong thiên văn học, tăng
cường độ phân giải của ảnh truyền hình mà không cần thay đổi cấu trúc bên trong
của hệ thống chuyển tải, nén ảnh trong khi truyền đi xa hoặc lưu trữ. Vấn đề này
được trình bày một cách chặt chẽ trên quan điểm xử lý tín hiệu hai chiều. Cuốn
sách này được chia làm 17 chương. Mỗi một chương đều đề cập đến một vấn đề
cơ bản khác nhau và phục vụ cho các chương tiếp theo. Để hiểu tường tận, bạn
phải đọc các chương theo đúng thứ tự mà nó được trình bày. Để hiểu đầy đủ thì
yêu cầu phải chuẩn bị một số kiến thức cơ sở. Hiện nay, ngôn ngữ lập trình C
được sử dụng phổ biến trong các bài toán kỹ thuật. Vì vậy, tôi chọn C làm ngôn
ngữ cho các chương trình nguồn của tất cả các thuật toán. Bạn cần phải có một số
kiến thức cơ bản về C để hiểu các chương trình này. Bạn có thể nghiên cứu C khi
làm việc với cuốn sách này. Nó sẽ giúp bạn có các kỹ năng thực tế và đồng thời
kiểm tra kiến thức về ngôn ngữ C của bạn. Phép biến đổi Z được sử dụng xuyên
suốt trong cuốn sách này và được trình bày trong chương 3. Các khái niệm toán
học này đòi hỏi bạn cần phải hiểu biết tường tận tất cả các tài liệu được trình bày
trong các phần trước. Năm chương đầu tiên có thể phục vụ cho các sinh viên năm
thứ ba hoặc năm thứ tư của trường đại học hoặc cao đẳng, ngành điện, cơ khí hoặc
máy tính. Cuốn sách cũng có thể được sử dụng trong các bài giảng tốt nghiệp, tốt
nhất là hơn hai học kỳ. Lĩnh vực này cũng hấp dẫn với sinh viên các ngành truyền
hình, sinh vật học, thông tin, các ứng dụng quân sự Ngoài ra một máy PC (286
hoặc hơn) với vỉ mạch VGA sẽ dùng trong cuốn sách này.
Chương 16 sẽ đề cập đến thiết kế phần cứng, và giả thiết rằng độc giả đã có
hiểu biết cơ bản về mạch số và tương tự. Nếu bạn đã qua một khoá học cơ bản về
điện tử, nâng cao hơn về mạch số thì bạn sẽ hiểu các vấn đề trình bày trong phần
này. Tôi đề nghị bạn nên đọc một cuốn sách điện tử nói về các ứng dụng của bộ
khuyếch đại thuật toán và một cuốn sách khác cung cấp cho bạn những hiểu biết
cơ bản về mạch số, trước khi cố gắng để đọc chương 16.
1.3 Biểu diễn ảnh
ảnh có thể biểu diễn dưới dạng tín hiệu 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 độ của ảnh
tại vị trí đó. Mỗi phần tử trong ma trận được gọi là một 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 0 biểu diễn cho
mức cường độ đen nhất và 255 biểu diễn cho mức cường độ sáng nhất.
- Với ảnh màu: Cách biểu diễn cũng tương tự như 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) và lam (blue). Để biểu diễn cho một điểm ảnh màu cần 24 bit, 24 bit
này được chia thành ba khoảng 8 bit. 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 việc số hoá ảnh hãy xem hình 1.1.
Hình 1.1 Biểu diễn của một mức xám của ảnh số.
Độ sáng trung bình trong m
ỗi
hình chữ nhật = giá trị một
điểm ảnh.
Pixel
or PEL
Trong hình này một lưới chia ô vuông tưởng tượng được đặt lên ảnh. Độ lớn
mỗi ô vuông của lưới xác định kích thước của một điểm ảnh. Mức xám của một
điểm được tính bằng cường độ sáng trung bình tại mỗi ô vuông này. Mắt lưới càng
nhỏ thì cho chất lượng ảnh càng cao. Trong kỹ thuật truyền hình tiên tiến, mục
đích là cung cấp cho người xem, hình ảnh chất lượng cao, với độ phân giải gấp hai
lần so với các chuẩn hiện nay.
Trong kỹ thuật tương tự, một bức ảnh thường được biểu diễn dưới dạng các
dòng nằm ngang kế tiếp nhau (Hình 1.2). Mỗi dòng là một tín hiệu tương tự mang
theo các thông tin về cường độ sáng dọc theo một đường nằm ngang trong ảnh
gốc. ảnh trên một chiếc TV được hiện lên qua các dòng quét này. Mặc dù thuật
ngữ "tương tự" được dùng để mô tả cho các ảnh quét liên tiếp như thế này nhưng
thực tế ảnh chỉ tương tự dọc theo hướng nằm ngang. Nó là rời rạc khi xét theo
hướng dọc và chính vì vậy mà tín hiệu ảnh là tín hiệu lai nửa tương tự, nửa số.
Vấn đề về tín hiệu lai được đề cập đến trong các chương 14, 15 và 16. Một máy
truyền hình được thiết kế để thu tín hiệu truyền hình mã hoá theo tiêu chuẩn NTSC
của Mỹ có khả năng hiển thị xấp xỉ 525 dòng. Công nghệ truyền hình tiến bộ nỗ
lực để cung cấp cho chúng ta số lượng các dòng gấp hai lần, cho độ phân giải tốt
hơn là TV màn ảnh rộng. Một TV có màn ảnh lớn hơn 28 inch được coi là một TV
có màn ảnh rộng. Một điều cần chú ý là một chiếc TV thì có khả năng hiện một số
dòng như nhau cho dù nó là 5 inch hay là 50 inch. Màn ảnh lớn nhất của loại TV
dòng quét xen kẽ này mà mắt người có khả năng phân biệt được từ khoảng cách
thông thường vào khoảng 3 mét. Các tiêu chuẩn truyền hình và khả năng phân biệt
của mắt người được đề cập đến trong chương 14.
n=0
x(t,0)
xung
đồng
bộ.
n=1
x(t,T)
xung
đồng
bộ.
t=0
t=0
t=0
t
'
time
1st line scan 1st line scan
x
'
(t
'
)
=x(t.nT)
T
Hỡnh 1.2 Biu din ca mt nh tng t.
1.4 Mt h thng x lý nh c bn
Mt h thng x lý nh c bn cú th bao gm: mỏy tớnh cỏ nhõn kốm theo v
mch chuyn i ho VGA hoc SVGA, a cha cỏc nh m bn dựng
kim tra cỏc thut toỏn v mt mn hỡnh cú h tr VGA hoc SVGA.
Nu ngõn sỏch bn cho phộp, tụi ngh bn nờn cú mt h thng nh trong
hỡnh 1.3. Nú bao gm mt mỏy tớnh PC cú kốm theo thit b x lý nh. Ni vi
cng vo ca thit b thu nhn nh l mt video camera, v cng ra ni vi mt
mn hỡnh. Thc t, phn ln cỏc nghiờn cu ca chỳng ta c a ra trờn nh
mc xỏm (nh en trng). Bi vy, h thng ca bn s bao gm mt thit b x lý
nh en trng v mt mn hỡnh en trng.
nh mc xỏm c ỏp dng trong nhiu lnh vc nh sinh vt hc hoc trong
cụng nghip. Thc t ch ra rng bt k ng dng no trờn nh mc xỏm cng ng
dng c trờn nh mu. Vỡ lý do ny tụi ngh h thng ca bn ban u ch
bao gm cỏc thit b thu nhn v hin th nh en trng. Trong chng 11 chỳng ta
s cp n lnh vc x lý nh mu. Vi nh mu, tụi ngh bn s dng mt
h thng mi ging nh hỡnh 1.3, ngoi tr bn cn mt camera TV mu v mt
monitor a tn s (vớ d nh NEC multiSync, Sony multiscan, hoc Mitsubishi
Diamond Scan ) hin th nh mu. Nu kh nng ti chớnh ca bn khụng cho
phộp, bn cú th vn dựng PC ca bn kốm theo v mch VGA v monitor VGA,
v dựng nh c cho trong cun sỏch ny.
Hỡnh 1.3 Mt h thng x lý nh.
Bõy gi chỳng ta cp n tt c cỏc khi trong h thng.
Máy tính cá nhân
Màn
hình
video
Màn hình
đồ hoạ và
văn bản
C a m e r a
truyền hình
với ống kính
có khả năng
phóng to, thu
nhỏ.
Đến thiết bị
nhận ảnh
Thiết bị
nhận ảnh
Đ ế n m àn
hình video
Thiết bị nhận ảnh. Chức năng của thiết bị này là số hóa một băng tần số cơ
bản của tín hiệu truyền hình cung cấp từ một camera, hoặc từ một đầu máy VCR.
ảnh số sau đó được lưu trữ trong bộ đệm chính, bộ đệm này có khả năng được địa
chỉ hoá (nhờ một PC) đến từng điểm bằng phần mềm. Thông thường thiết bị này
có rất nhiều chương trình con điều khiển mà có thể lập trình được thông qua ngôn
ngữ C. Khi mua một thiết bị bạn cần chú ý các điểm sau:
1. Thiết bị có khả năng số hoá ảnh dùng ít nhất là 8 bit (256 mức xám) và ảnh
thu được phải có kích thước ít nhất là 512 512 điểm hoặc hơn nữa.
2. Thiết bị phải chứa một bộ đệm ảnh để lưu trữ một hoặc nhiều ảnh có độ
phân giải 512 512 điểm ảnh.
3. Thiết bị phải được kèm theo một bộ đầy đủ thư viện các chương trình con có
khả năng giao diện với các chương trình C viết bằng Turbo C hoặc
Microsoft C.
4. Sổ tay hướng dẫn sử dụng cũng phải được kèm theo, bao gồm cả dạng chứa
trên đĩa và khi in.
5. Một số thiết bị cho phép tuỳ chọn sử dụng cả hai chế độ văn bản và đồ hoạ
trên cùng một màn hình hoặc hai màn hình riêng biệt. Mặc dù chi tiết này là
không cần thiết, nhưng nó sẽ rất có giá trị trong trường hợp bạn bị giới hạn
về không gian lắp đặt hoặc khả năng tài chính.
Camera. Tổng quát có hai kiểu camera: kiểu camera dùng đèn chân không và
kiểu camera chỉ dùng bán dẫn. Đặc biệt là trong lĩnh vực này, camera bán dẫn
thường hay được dùng hơn camera đèn chân không. Camera bán dẫn còn được gọi
là CCD camera do nó dùng các thanh ghi dịch đặc biệt gọi là thiết bị ghép (charge-
coupled devices- CCDs). Các CCD này chuyển các tín hiệu ánh sáng từ bộ cảm
nhận ánh sáng bố trí ở phía trước camera thành các tín hiệu điện mà sau đó được
mã hoá thành tín hiệu TV.
Loại camera chất lượng cao thì cho tín hiệu ít nhiễu và có độ nhậy cao với ánh
sáng. Khi bạn chọn mua camera thì bạn cần chú ý đến các thấu kính của máy. Tôi
đề nghị bạn nên chọn một thấu kính từ 18 đến 108 mm với f-stop từ 2.5 đến 18.
Một vài người bán hàng sẽ cung cấp trọn gói camera và thấu kính.
Sau đây là danh sách các nhà sản xuất:
1. Pulnix America Inc, 770 Lucerne Drive, Sunnyvale, CA 84086. Tel. 408-
773-1550; fax 408-737-2966.
2. Sony Corp. of America, Component Products Co., 10833 Valley View St.,
Cypress, CA 90630. Fax 714-737-4285.
3. Parasonic, industrial camera division: 201-329-6674.
4. JVC Professional: 1-800-JVC-5825.
Monitor video. Một số các nhà sản xuất (như Sony) sản xuất các loại monitor
đen trắng chất lượng cao. Bạn nên sử dụng loại monitor chất lượng cao, vì sử dụng
các monitor chất lượng thấp có thể làm bạn nhầm lẫn kết quả. Một monitor 9 inch
là đủ cho yêu cầu làm việc của bạn. Để hiển thị ảnh màu, bạn nên dùng một
monitor đa hệ.
Máy tính. Phần mềm cho ở trong sách này được phát triển để làm việc trên tất
cả các máy sử dụng hệ điều hành DOS. Mặc dù máy XT có thể chạy được các
chương trình này, nhưng để tăng cường tốc độ bạn cần phải có một máy tính 486
hoặc hơn. Ngày nay thì một máy tính 486-66 MHz còn rẻ hơn giá các máy XT
cách đây vài năm. Để chắc chắn thì các máy này phải có sẵn các khe cắm cho
phần xử lý ảnh. Các chương trình thiết kế và lọc ảnh có thể chạy trên bất kỳ hệ
thống nào. Các chương trình con hiển thị ảnh dùng vỉ mạch VGA và có sẵn trên
đĩa đi kèm theo cuốn sách này. Các chương trình con hiển thị ảnh cũng hỗ trợ cho
hầu hết các vỉ mạch SVGA.
Phần mềm. Tôi dùng Borland Turbo C (version 2.0) trong suốt cuốn sách này.
Đây là một chương trình biên dịch hoàn thiện. Bạn cũng cần phải dùng đến Turbo
assembler trong chương 11. Bạn cũng có thể dùng phiên bản mới nhất của Borland
C.
1.5 Cách trình bày của cuốn sách
Cuốn sách có 17 chương, gồm cả chương giới thiệu. Mỗi chương đề cập tới một
chủ đề.
Chương 2 giới thiệu với bạn khái niệm hệ thống 2 chiều và việc áp dụng vào xử
lý ảnh.
Chương 3 nói về việc thiết kế mạch lọc đáp ứng xung hai chiều và giải thuật
lọc ảnh.
Chương 4 đề cập đến những cách khác nhau trong việc nâng cao chất lượng
ảnh, như mạch lọc thông cao, lọc Hommorphic và biến đổi biểu đồ.
Chương 5 nói về khía cạnh làm nổi và tách ảnh. Các thuật toán tách biên các
ảnh cần khôi phục sẽ được đề cập đến ở chương 10.
Chương 6 đề cập chi tiết đến giải thuật biến đổi Fourier nhanh. Sự lược bỏ bớt
FFT cũng được đề cập đến. Trong các thuật toán lược bỏ FFT, số mẫu
đầu vào có thể ít hoặc nhiều hơn số mẫu đầu ra.
Chương 7 đề cập đến những tính chất của ảnh số. Chúng tôi sẽ minh hoạ những
phần quan trọng của ảnh. Tiếp đến là định lý lấy mẫu.
Chương 8 đề cập đến việc thiết kế FIRs sử dụng hàm cửa sổ.
Chương 9 đề cập đến mạch lọc đáp ứng xung 2 chiều. Một phương pháp thiết
kế đơn giản được giới thiệu nhằm cung cấp IIRs pha tuyến tính hai
chiều ổn định.
Chương 10 nói đến các kỹ thuật khôi phục ảnh.
Chương 11 đề cập đến màu và xử lý ảnh màu. Giới thiệu các màu cơ sở và sự
hoà trộn các màu dựa trên các màu chính.
Chương 12 đề cập đến mạng thần kinh cho việc phân loại màu.
Chương 13 nói về chủ đề nén dữ liệu ảnh.
Chương 14 đề cập chi tiết về tín hiệu vô tuyến và chuẩn vô tuyến. Giới thiệu về
lĩnh vực mạch lọc lai hai chiều và giải thích ứng dụng của mạch lọc lai
hai chiều trong tín hiệu vô tuyến.
Chương 15 nói đến chủ đề mạch lọc lai hai chiều. Giải thích về phương pháp
thiết kế.
Chương 16 thiết kế phần cứng cho việc xử lý tín hiệu vô tuyến trong thời gian
thực. Nghiên cứu sự thực hiện pipelining, systolic và semisystolic.
Chương 17 cung cấp chỉ dẫn về mạch lọc ba chiều, để có thể dùng làm ảnh
“chuyển động”.
Từ chương 2 đến chương 15 có chứa các chương trình nguồn C, thực hiện các
thuật toán. Các ứng dụng liên quan đi kèm ở tất cả các chương.
7
chương
2
Các hệ thống hai chiều
2.1 Chỉ dẫn
Các tín hiệu vốn là hai chiều thì phải được xử lý bằng kỹ thuật xử
lý tín hiệu hai chiều. Các điểm ảnh được coi là một dạng tín hiệu hai
chiều, vì vậy việc xem xét các kiến thức cơ bản của hệ thống hai
chiều (2-D) là cần thiết. Trong chương này chúng ta sẽ xem xét biểu
diễn tần số và biểu diễn không gian của tín hiệu hai chiều, và cung
cấp kiến thức cần thiết cho việc phát triển các kỹ thuật xử lý ảnh hai
chiều như là nổi ảnh, trơn ảnh và khôi phục ảnh.
2.2 Các tín hiệu hai chiều
Một tín hiệu lấy mẫu hai chiều được biểu diễn dưới dạng một
mảng hai chiều x(n
1
T
V
,n
2
T
H
) (V: Vertical - chiều dọc, H: Horizontal
- chiều ngang). ở đây n
1
, n
2
là số nguyên và T
V
, T
H
là khoảng cách
lấy mẫu theo chiều ngang và chiều dọc. x(n
1
T
V
, n
1
T
H
) thường được
ký hiệu tắt là x(n
1
,n
2
) và biểu diễn cho cường độ sáng hay là biên độ
tín hiệu tại điểm (n
1
,n
2
) trong miền không gian. Hình 2.1 giới thiệu
một phép biểu diễn trong miền không gian, ở đây cường độ sáng
của tín hiệu được ký hiệu bởi chiều cao tại điểm x(n
1
T
V
, n
2
T
H
). Chú
ý rằng T
V
là khoảng cách lấy mẫu giữa hai cột dọc kế tiếp nhau, T
H
là khoảng cách lấy mẫu giữa hai dòng ngang kế tiếp nhau của tín
hiệu 2-D.
Mặc dù một tín hiệu lấy mẫu 2-D có thể xử lý như các dãy của tín
hiệu lấy mẫu một chiều bằng cách xử lý tất cả các hàng (cột) một
cách tuần tự song cách tiếp cận này không cho một kết quả mong
đợi như khi xử lý hai chiều. Ví dụ, nếu chúng ta dùng một bộ lọc