Khái niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong xãhội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việcđưa vào mày tính xử lý đã trở nên
Trang 1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG
KHOA CÔNG NGHỆ THÔNG TIN
19004187_Nguyễn Ngọc Mai Thảo
Học kỳ: Học kỳ hè (2020 - 2021)
Vĩnh Long 2021
Trang 3LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành đến cô Lê Thị Hạnh Hiền giảng viên trongkhoa Công nghệ thông tin Đã trang bị cho em những kiến thức, kỹ năng cơ bản cần có
để hoàn thành đề tài này
Tuy nhiên trong quá trình nghiên cứu đề tài, do kiến thức chuyên nghành cònhạn chế nên em vẫn còn nhiều thiếu sót khi tìm hiểu, đánh giá và trình bày về đề tài.Rất mong nhận được sự quan tâm, góp ý của các thầy/cô giảng viên bộ môn để đề tàicủa em được đầy đủ và hoàn chỉnh hơn
Xin chân thành cảm ơn
Trang 4LỜI MỞ ĐẦU
Khoảng hơn mười năm trở lại đây, phần cứng máy tính và các thiết bị liên quan
đã có sự tiến bộ vượt bậc về tốc độ tính toán, dung lương chứa, khả năng xử lý, … vàgiá cả đã giảm nhiều so với lúc trước, các thiết bị liên quan tới xử lý ảnh đã không cònquá xa lạ nữa Khái niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong xãhội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việcđưa vào mày tính xử lý đã trở nên đơn giản Trong hoàn cảnh đó, xử lý ảnh là một lĩnhvực đang được quan tâm và đã trờ thành môn học chuyên ngành của sinh viên ngànhcông nghệ thông tin trong nhiều trường đại học trên cả nước
Cùng với sự phát triển của khoa học kỹ thuật, đòi hỏi các phương pháp giảithuật tính toán trong xử lý ảnh ngày càng cao và chính xác để máy tính có khả năng
“đọc” và “hiểu” các ảnh và xử lý theo từng mục đích khác nhau trong đời sống Ngàynay xử lý ảnh đã được áp dụng rất rộng rãi trong cuộc sống như: photoshop, nén ảnh,nén video, nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ viết, xử lý ảnhthiên văn, ảnh y tế,
Vì vậy trong đồ án 1 này, em xin trình bày đề tài: Các phương pháp xử lý ảnh
và ứng dụng.
Trang 5CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI1.1 Lý do chọn đề tài
Xử lý ảnh đang là một phân ngành khoa học mới rất phát triển trong những nămgần đây, đã và đang có sự phát triển mạnh mẽ trong lý thuyết và cả trong ứng dụngthực tế Và trong thời buổi công nghê ̣ thông tin phát triển mạnh mẽ, ứng dụng của xử
lý ảnh góp phần rất quan trọng trong các lĩnh vực như xử lý nâng cao chất lượng ảnh,nhận dạng ảnh, nén ảnh và truy vấn ảnh Do đó, em quyết định chọn đề tài “Tìm hiểucác phương pháp xử lý ảnh và ứng dụng” giúp hiểu rõ hơn về lĩnh vực này
1.2 Nội dung đề tài
- Tìm hiểu xử lý ảnh là gì? Matlab là gì?
- Mô ̣t số phương pháp xử lý ảnh So sánh các phương pháp đó
- Ứng dụng của xử lý ảnh vào mô ̣t số lĩnh vực
- Demo
1.3 Mục tiêu
Củng cố kiến thức và làm quen với ngôn ngữ lâ ̣p trình Matlab
Trang 6CHƯƠNG II: TỔNG QUAN VỀ XỬ LÝ ẢNH2.1 Giới thiệu về xử lý ảnh
Xử lý ảnh là một phân ngành trong xử lý số tính hiệu với tính hiệu xử lý là ảnh.Đây là một phân ngành khoa học mới rất phát triển trong những năm gần đây Xử lýảnh gồm 4 lĩnh vực chính: xử lý nâng cao chất lượng ảnh, nhận dạng ảnh, nén ảnh vàtruy vấn ảnh Và trong đồ án 1 này, chúng ta sẽ áp dụng lĩnh vực nhận dạng ảnh
Các ứng dụng của xử lý ảnh:
- Trong y tế: Các phương pháp chuẩn đoán hình ảnh như X quang kỹthuật số, PET (chụp cắt lớp phát xạ positron), CAT (chụp cắt lớp vi tính), MRI(chụp cộng hưởng từ), fMRI (chụp cộng hưởng từ chức năng)
- Trong công nghiệp: Hệ thống xử lý ảnh đã được áp dụng thành côngtrong các hệ thống sản xuất, chẳng hạn như hệ thống an toàn, kiểm soát chấtlượng và điều khiển phương tiện tự động dẫn hướng (AGV) Bên cạnh đó,người máy ngày càng đóng vai trò quan trọng Chúng thực hiện các công việcnguy hiểm, đòi hỏi có tốc độ và độ chính xác cao vượt quá khả năng con người.Người máy sẽ trở nên tinh vi hơn và thị giác máy tính đóng vai trò quan trọnghơn Người ta sẽ không chỉ đòi hỏi người máy phát hiện và nhận dạng các bộphận công nghiệp mà còn phải “hiểu” được những gì chúng “thấy” và đưa rahành động phù hợp Xử lý ảnh sẽ tác động đến thị giác máy tính
- Trong quân sự: Xử lý ảnh đã được áp dụng mạnh mẽ trong lĩnh vựcquân sự Một trong những ứng dụng quan trọng là nhận diện các ảnh quân sự,phát hiện binh sĩ hoặc các phương tiện đến hướng dẫn tên lửa, nhận dạng đốitượng và nhiệm vụ trinh sát sử dụng máy bay không người lái (UAV) Ngoài ra,các ứng dụng quân sự thường yêu cầu sử dụng các cảm biến hình ảnh khácnhau, chẳng hạn như máy ảnh phạm vi và máy ảnh hồng ngoại hướng nhiệt(FLIR)
- Thực thi pháp luật và bảo mật: Các ứng dụng giám sát đã trở thành mộttrong những lĩnh vực được nghiên cứu mạnh mẽ nhất trong cộng đồng xử lývideo Các kỹ thuật trắc học ( Ví dụ: vân tay, khuôn mặt, con ngươi, …)
Trang 7- Trong thiên văn học, hệ thống chụp hình gán trên tàu vũ trụ hạn chế vềkích thước và trọng lượng, do đó chất lượng hình ảnh bị giảm như bị mờ, méohình học và nhiễu nền Các hình ảnh đó sẽ được xử lý nhiễu, nhận dạng để đưa
2.2 Một số khái niệm cơ bản
2.2.1 Ảnh xám (Grayscale)
Ảnh xám hay còn gọi là ảnh đơn sắc (monochromatic), là ảnh mà tại mỗi điểmảnh có một giá trị mức xám Ảnh 8 mức xám sẽ có giá trị mỗi điểm ảnh nằm trongđoạn [0, 7] Ảnh 256 mức xám sẽ có giá trị mỗi điểm ảnh nằm trong đoạn [0, 255]
Hình 2.1: Thang màu xám
Giá trị điểm ảnh = 0 nghĩa là điểm ảnh đó tối (đen), giá trị điểm ảnh lớn nhất nghĩa làđiểm ảnh đó trắng Nói cách khác, giá trị mỗi điểm ảnh càng lớn thì điểm ảnh đó càngsáng Cường độ sáng được tính theo công thức (chuyển đổi từ RGB sang grayscale): độsáng = 0.2989R + 0.5870G + 01.1140B Các hệ số có thể được làm tròn thành 0.3, 0.59
và 0.11
Trang 8Hình 2.2: Ảnh màu chuyển sang ảnh nhị phân
2.2.2 Hệ màu điểm ảnh (Pixel)
Một pixel hay một điểm ảnh (tiếng Anh: pixel hay pel, viết tắt picture element)
là một điểm vật lý trong một hình ảnh raster, hoặc một khối màu rất nhỏ và là đơn vị cơbản nhất để tạo nên một bức ảnh kỹ thuật số Địa chỉ của một điểm ảnh tương ứng vớitọa độ vật lý ITS Pixel LCD được sản xuất trong một mạng lưới hai chiều, và được sửdụng dấu chấm hoặc đại diện hình vuông thông thường, nhưng điểm ảnh CRT tươngứng với cơ chế thời gian của chúng và tỷ lệ quét.1 pixel không có kích thước cố định
Mỗi điểm ảnh là một mẫu của một hình ảnh ban đầu, nhiều điểm ảnh hơnthường cung cấp đại diện chính xác hơn của bản gốc Cường độ của mỗi điểm ảnh cóthể thay đổi Hình ảnh trong hệ thống màu sắc, màu sắc thường là ba hoặc bốn đại diệntrong lường độ thành phần như màu đỏ, xanh lá cây, và màu xanh, hoặc màu lục lam,
đỏ tươi, màu vàng, và màu đen
Trang 9Hình 2.4: Thêm đỏ vào xanh lá cây tạo ra vàng; thêm vàng vào xanh lam tạo ra trắng.
Với mỗi bộ 3 số r, g, b nguyên trong khoảng [0, 255] sẽ cho ra một màu khác nhau Do
có 256 cách chọn r, 256 cách chọn màu g, 256 cách chọn b => tổng số màu có thể tạo
ra bằng hệ màu RGB là: 256 x 256 x 256 = 16777216 màu
2.2.4 Ảnh màu (Color image)
Ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản: RGB vàthường thu nhận trên các dải băng tần khác nhau Với ảnh màu, cách biểu diễn cũngtươ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ểudiễn cho ba màu riêng rẽ gồm: đỏ (red), xanh lá (green) và lam (blue) Để biểu diễncho 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ỗimàu cũng phân thành L cấp màu khác nhau (thường L=256) Mỗi khoảng này biểudiễn cho cường độ sáng của một trong các màu chính
Cũng như ảnh xám, mỗi kênh màu trong ảnh màu có thể được mã hoá n bit chomỗi kênh Như vậy 1 pixel sẽ được mã hoá bởi 3*n bit Do đó dung lượng ảnh màu sẽlớn hơn 3 lần so với ảnh xám có cùng mức mã hoá
Trang 10Hình 2.5: Ví dụ về việc chia ảnh màu RGB thành các kênh màu và
ảnh xám tương đương của mỗi kênh màu.
2.2.5 Ảnh nhị phân (binary image)
Ảnh đen trắng chỉ bao gồm 2 màu: màu đen và màu trắng Người ta phân mứcđen trắng đó thành L mức Nếu sử dụng số bit B=8 bít để mã hóa mức đen trắng (haymức xám) thì L được xác định : L=2B (trong ví dụ của ta L=28= 256 mức)
Nếu L bằng 2, B=1, nghĩa là chỉ có 2 mức: mức 0 và mức 1, còn gọi là ảnh nhị phân.Mức 1 ứng với màu sáng, còn mức 0 ứng với màu tối Nếu L lớn hơn 2 ta có ảnh đacấp xám
Nói cách khác, với ảnh nhị phân mỗi điểm ảnh được mã hóa trên 1 bit, còn vớiảnh 256 mức, mỗi điểm ảnh được mã hóa trên 8 bit Như vậy, với ảnh đen trắng: nếudùng 8 bit (1 byte) để biểu diễn mức xám, số các mức xám có thể biểu diễn được là
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ứccường độ sáng nhất
Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như các phần tử logic Ứngdụng chính của nó được dùng theo tính logic để phân biệt đối tượng ảnh với nền hay đểphân biệt điểm biên với điểm khác
nk là số điểm ảnh (pixels) có giá trị rk
Biểu đồ mức xám chưa chuẩn hóa(unnormalized histogram) của f được địnhnghĩa như sau: h(rk ) = nk với k = 0, 1, , L-1, L là số mức xám
Biểu đồ chuẩn hoá (normalized histogram):
Trang 11p(r k)=h(r k)
n k MN
với M, N là chiều dài và chiều rộng của f hay là của ảnh
Ví dụ : Ta lần lượt có ảnh và histogram tương ứng với các ảnh dark, light,
low-contrast và high-low-contrast
Ta có nhận xét
Với ảnh dark thì histogram có các cột tập trung vào bên trái tương ứng với màutối
Với ảnh light thì histogram có tập trung vào bên phải chứa các pixel trắng
Với ảnh độ tương phản thấp (low-contrast) thì histogram có các cột tập trung xítnhau và ở giữa
Với ảnh độ tương phản cao (high-contrast) thì histogram san đều với các giá trị
CHƯƠNG III: CÁC HÀM XỬ LÝ CƠ BẢN TRONG MATLAB3.1 Các phép biến đổi ảnh
3.1.1 Phép biến đổi Fourier
Phép biến đổi Fourier biểu diễn ảnh dưới dạng tổng của các lũy thừa phức củacác thành phần biên độ, tần số, pha khác nhau của ảnh
Trang 12Nếu f(m,n) là một hàm của hai biến không gian rời rạc m và n, thì biến đổiFourier hai chiều của f(m,n) được định nghĩa :
Nếu f(m,n) biểu diễn độ sáng của ảnh X ở vị trí pixel (m,n) thì F(w1,w2) chính
là biến đổi Fourier của ảnh X
Do các dữ liệu trên máy tính được lưu trữ dưới dạng rời rạc, cụ thể là dữ liệuảnh được tổ chức theo đơn vị pixel nên phép biến đổi Fourier cũng được rời rạc hóathành biến đổi Fourier rời rạc (DFT) Giả sử hàm f(m,n) chỉ khác 0 trong miền0<=m<=M-1,0<=n<=N-1), các phép biến đổi DFT thuận và nghịch kích thước M x Nđược định nghĩa như sau :
F(p,q) gọi là các hệ số của biến đổi DFT
Với các ứng dụng trong xử lý ảnh, chúng ta chỉ quan tâm đến các hàm fft2 và ifft2.
3.1.2 Phép biến đổi DCT
Biến đổi DCT (Discrete Cosine Transform) biểu diễn ảnh dưới dạng tổng củacác cosine củacác thành phần biên độ và tần số khác nhau của ảnh Hầu hết các thôngtin về ảnh chỉ tậptrung trong một vài hệ số của biến đổi DCT, trong khi các hệ số cònlại chứa rất ít thông tin
Biến đổi DCT 2 chiều của một ma trận A kích thước M x N là:
Trang 133.1.3 Phép biến đổi Radon
Phép biến đổi Radon được thực hiện bởi hàm radon trong Matlab, biểu diễn ảnhdưới dạng các hình chiếu của nó dọc theo các hướng xác định Hình chiếu của một hàmhai biến f(x,y)là tập hợp các tích phân đường Hàm radon tính các tích phân đường từnhiều điểm nguồn dọc theo các đường dẫn song song, gọi là các tia chiếu, theo mộthướng xác định nào đó Các tia chiếu này nằm cách nhau 1 pixel Để biểu diễn toàn bộảnh, hàm radon sẽ lấy nhiều hình chiếu song song của ảnh từ các góc quay khác nhaubằng cách xoay các điểm nguồn quanh tâm của ảnh
Hàm imhist(): Hiển thị một biểu đồ của dữ liệu hình ảnh
Hàm sublot(m,n,p): chia cửa sổ hiện tại thành một ma trận m x n khoảng để vẽ
đồ thị, và chọn p là cửa sổ hoạt động Các đồ thị thành phần được đánh số từ tráiqua phải, từ trên xuống dưới, sau đó đến hàng thứ hai
Hàm imadjust(): điều chỉnh giá trị cường độ hình ảnh Câu lệnh này làm tăng
độ tương phản của hình ảnh đầu ra
Hàm im2bw(): chuyển đổi các hình ảnh màu xám sang một hình nhị phân Haytạo một ảnh nhị phân từ một ảnh cường độ, ảnh chỉ số hay ảnh RGB trên cơ sởcủa ngưỡng ánh sáng
Trang 14Hàm colormap(‘colomap name’): hiển thị hình ảnh thành biểu đồ màu.
3.3 Các phép biến đổi hình học
3.3.1 Phép suy nô ̣i ảnh
Nội suy là quá trình ước lượng giá trị của một điểm nằm giữa hai pixel có giá trị đãbiết IPT cung cấp 3 phương pháp nội suy ảnh : nội suy theo các lân cận gần nhất, nộisuy songtuyến tính và nội suy bicubic Cả 3 phương pháp đểu thực hiện theo nguyêntắc chung : để xác định giá trị của một pixel ảnh nội suy, ta tìm một điểm trong ảnh banđầu tương ứng với pixel đó, sau đó giá trị của pixel ở ảnh mới sẽ được tính bằng trungbình có trọng số của một tập các pixel nào đó ở lân cận của điểm vừa xác định, trong
đó trọng số của các pixel phụthuộc vào khoảng cách tới điểm này
Phương pháp lân cận gần nhất (nearest neighbor) : pixel mới sẽ được gán giá trịcủa pixel chứa điểm tương ứng của nó trong ảnh ban đầu
Phương pháp song tuyến tính (bilinear interpolation) : pixel mới sẽ được gánlàtrung bình có trọng số của các pixel trong một lân cận kích thước 2 x 2
Phương pháp bicubic, pixel mới sẽ được gán là trung bình có trọng số của cácpixel trong một lân cận kích thước 4 x 4
3.3.2 Thay đổi kích thước
Hàm imresize cho phép người sử dụng thay đổi kích thước ảnh Ngoài kích thướcảnhmới, người sử dụng còn có thể xác định phương pháp nội suy sẽ dùng và loại bộ lọcdùng để chống aliasing
Cú pháp : b=imresize(a,m, method) :tạo ảnh gấp m lần ảnh a
b=imresize(a,[mrows mcols],method)b=imresize(a,[mrows mcols],method,N) b=imresize(a,[mrows mcols],method,h)
3.3.3 Phép quay ảnh
Để thực hiện phép quay ảnh, ta có thể sử dụng hàm imrotate Ngoài hai thông
số cơ bản là ảnh gốc và góc quay, người sử dụng cũng có thể xác định phương phápnội suy sẽ dùng và kích thước của ảnh mới
Cú pháp : b=imrotate(a,angle,method,Bbox)
Trang 15CHƯƠNG IV: NÂNG CAO CHẤT LƯỢNG ẢNH
4.1 Mở đầu
Nâng cao chất lượng ảnh số là quá trình xử lý trên ảnh ban đầu để tạo ra kết quả
là một bứcảnh tốt hơn xét theo một tiêu chí cụ thể Ví dụ xử lý để nâng cao chất lượng của ảnh chụp X-quang sẽ khác với việc nâng cao chất lượng của ảnh chụp của một vệ tinh địa tĩnh Có nhiều phương pháp nhằm tăng cường chất lượng của ảnh, nhưng tập trung vào hai nhánh chính là xử lý ảnh trong miền không gian và xử lý ảnh trong miền tần số Trong miền không gian, ảnh được xử lý trực tiếp trên các pixels Miền tần số sử dụng biến đổi Fourier để xử lý
4.2 Xử lý ảnh trong miền không gian
Trang 16Miền không gian là tập hợp các pixels trong một bức ảnh Chúng ta sẽ tiến hành
xử lý trực tiếptrên các pixels này Quá trình xử lý này có thể được mô tả thông qua biểuthức sau: g(x,y)=T[f(x,y)]
Với f(x,y) là ảnh gốc, g(x,y) là ảnh sau xử lý, và T là phép toán biến đổi, dựatrên các điểm ảnh xung quanh (x,y) Các điểm ảnh xung quanh có thể có các kích cỡkhác nhau, có thể là dạng vuông hoặc chữ nhật, trong đó điểm ảnh cần xử lý ở vị trítrung tâm
4.3 Mô ̣t số phép biến đổi ảnh xám
Hình 5.1: Hình chụp mô ngực với ảnh trái là ảnh gốc và ảnh phải là ảnh âm bản
4.3.2 Phép biến đổi log
Biểu thức: s=c*log(1+r)
Các giá trị r mức thấp dải hẹp qua phép biến đổi sẽ tạo ra dải rộng hơn, trong khi đó các giá trị r mức cao sẽ nén lại thành 1 dải hẹp ở ngõ ra Phép biến đổi này nhằmmục đích tăng chi tiếthóa ở vùng tối
Trang 17
Hình 5.2: Ảnh trước và sau xử lý dùng phép biến đổi log, c=0.8
4.3.3 Biến đổi theo quy tắc lũy thừa
Biểu thức: s = cr y
Với <1, phép biến đổi tương tự với hàm log, nhưng giá trị của có thể thay đổiđược, trong khi hàm log là cố định Với phép biến đổi này, các giá trị r mức thấp dảihẹp qua phép biến đổi sẽ tạo ra dải rộng hơn, trong khi đó các giá trị r mức cao sẽ nénlại thành 1 dải hẹp ở ngõ ra
Với =1, phép biến đổi là một hàm tuyến tính giữa ngõ vào và ngõ ra Đặc biệtkhi c=γ=1,ảnh ra và ảnh vào là giống nhau
Trang 18Ảnh gốc γ=0.4 γ=0.1
γ=1.1 γ=3
4.4 Lọc ảnh trong không gian
Nhiễu thường xuất hiện trên ảnh do nhiều nguyên nhân khác nhau Để giảmnhễu và nâng cao chất lượng ảnh ta sử dụng những phương pháp lọc khác nhau, phùhợp với mỗi loại nhiễu cụ thể
Lọc không gian cũng là mô ̣t quá trình xử lý trên các điểm ảnh, dựa trên mô ̣tphép toán với các điểm ảnh xung quanh Phương pháp lọc ảnh bao gốm các bước: xác