Xử lý ảnh
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 lu 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ó
Trang 2thể 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
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ố
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 nhng 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
Hình 1.2 Biểu diễn của một ảnh tơng tự.
n=0 x(t,0)
xung
đồng bộ.
n=1 x(t,T)
xung
đồng bộ.
t=0
t '
time 1st line scan 1st line scan
x ' (t ' )
=x(t.nT)
T
Trang 41.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
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 lu 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
Máy tính cá nhân
Màn hình video
Màn hình
đồ hoạ và văn bản
Camera
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
Trang 5thiế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:
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, nhng 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, nhng để 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
Trang 6XT 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”
Trang 7Từ 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