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 cuốn sách này,
Trang 1Chươ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
Trang 2thứ 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à 28 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
Trang 3Trong 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' time 1st line scan 1st line scan
x'(t')
=x(t.nT)
T
Trang 4Hỡnh 1.2 Biểu diễn của một ảnh tương tự
1.4 Một 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 vỉ mạch chuyển đổi đồ hoạ 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
Nếu ngõn sỏch bạn cho phộp, tụi đề nghị bạn nờn cú một hệ thống như trong hỡnh 1.3 Nú bao gồm một mỏy tớnh PC cú kốm theo thiết bị xử lý ảnh Nối với cổng vào của thiết bị thu nhận ảnh là một video camera, và cổng ra nối với một màn hỡnh Thực tế, phần lớn cỏc nghiờn cứu của chỳng ta được đưa ra trờn ảnh mức xỏm (ảnh đen trắng) Bởi vậy, hệ thống của bạn sẽ bao gồm một thiết bị xử lý ảnh đen trắng và một màn hỡnh đen trắng
ảnh mức xỏm được ỏp dụng trong nhiều lĩnh vực như sinh vật học hoặc trong cụng nghiệp Thực tế chỉ ra rằng bất kỳ ứng dụng nào trờn ảnh mức xỏm cũng ứng dụng được trờn ảnh màu Vỡ lý do này tụi đề nghị hệ thống của bạn ban đầu chỉ bao gồm cỏc thiết bị thu nhận và hiển thị ảnh đen trắng Trong chương 11 chỳng ta
sẽ đề cập đến lĩnh vực xử lý ảnh màu Với ảnh màu, tụi đề nghị bạn sử dụng một
hệ thống mới giống như hỡnh 1.3, ngoại trừ bạn cần một camera TV màu và một monitor đa tần số (vớ dụ như NEC multiSync, Sony multiscan, hoặc Mitsubishi Diamond Scan ) để hiển thị ảnh màu Nếu khả năng tài chớnh của bạn khụng cho phộp, bạn cú thể vẫn dựng PC của bạn kốm theo vỉ mạch VGA và monitor VGA,
và dựng ảnh được cho trong cuốn sỏch này
Hỡnh 1.3 Một hệ thống xử lý ảnh
Bõy giờ chỳng ta đề cập đến tất cả cỏc khối trong hệ thống
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
t r u yề n h ì n h
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
Trang 5Thiế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
Trang 6là đủ 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
Trang 7Chươ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
Trang 8chươ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(n1TV,n2TH) (V: Vertical - chiều dọc, H: Horizontal
- chiều ngang) ở đây n1, n2 là số nguyên và TV, TH là khoảng cách
lấy mẫu theo chiều ngang và chiều dọc x(n1TV, n1TH) thường được
ký hiệu tắt là x(n1,n2) và biểu diễn cho cường độ sáng hay là biên độ
tín hiệu tại điểm (n1,n2) 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(n1TV, n2TH) Chú
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
Trang 9làm nổi đường biên ảnh 1-D, cụ thể đó là một bộ lọc thông cao, trên một ảnh bằng cách xử lý từng hàng một, thì đường biên sẽ phần lớn được làm nổi bật dọc theo các đường thẳng đứng Các đường biên ảnh nằm theo các đường nằm ngang sẽ không được làm nổi một chút nào và các đường biên nằm theo các hướng khác ngoài hai hướng này sẽ nhận được hiệu ứng làm nổi ảnh ít hơn các đường biên dọc Để đạt được hiệu quả như nhau theo mọi hướng, tín hiệu được lấy mẫu hai chiều phải được xử lý qua một hệ thống 2-D (Hình 2.2)
Trong hệ thống tuyến tính bất biến - TTBB (Linear Shift Invariant
- LSI), đáp ứng đầu ra có thể tính theo công thức :
y(n1,n2) x(n1,n2) * h(n1,n2) (2.1) Dấu * được hiểu là tích chập và h(n1,n2) là đáp ứng xung của hệ thống 2-D Biểu thức (2.1) có thể viết là:
1 2
) ,
( ) , ( )
,
k k
k n k n h k k x n
n
(2.2)
Hình 2.1 Biểu diễn trong miền khoảng cách
2.3 Một số dãy 2-D thông dụng
Chúng bao gồm:
1 Dãy xung đơn vị :
n 1 T v
2T
T H
x(n 1 ,T v ,n 2 ,T H )
n 2 T H
Trang 10
lại còn hợp trường các với
với 0
0
1 ) , ( ) ,
2 Dóy nhảy bậc đơn vị :
lại còn hợp trường các với
với 0
0 , 1 ) ,
1
n n n
n
3 Dóy hàm mũ:
lại còn hợp trường các với
với 0
0 , )
,
2 1
2
1a n n a
n n x
n n
4 Dóy tớn hiệu hỡnh sin (phức):
) ( 2 1
2 2 1
) ,
x - <n1,n2< + (2.6)
Hỡnh 2.2 Xử lý tớn hiệu 2-D
2.4 Đỏp ứng tần số của hệ thống 2-D -TTBB
2 1
2 1
) ,
Đỏp ứng ra cú thể rỳt ra khi dựng biểu thức (2.2)
1
2 1 2
) ( ) ( 2
k k
k n k n j
k k h e
n n
hoặc
1 2
2 1 2
) ,
2 1
k k
k k j n
n
e n n
Cụng thức này cú thể viết lại thành
y(n1,n2) x(n1,n2)H(1,2)
Tớn hiệu ra là tớn hiệu hỡnh sin phức (sinusoid) hoàn toàn cú cựng tần số như tớn hiệu vào, nhưng biờn độ và gúc pha thỡ bị thay đổi bởi
h(n 1 ,n 2 )
x(n1 ,n 2 ) y(n1 ,n 2 )