SlideShare a Scribd company logo
1 of 117
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM
KHOA CÔNG NGHỆ ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
Đề tài:
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI
DÙNG PCA
GVHD: Ths. Đào Thị Thu Thủy
SVTH : Nguyễn Trung Hiếu -06052461
Bùi Ngọc Liêm -06054491
Lớp : DHDT2B1
TP. Hồ Chí Minh, tháng 7 năm 2010
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
LỜI MỞ ĐẦU
Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang được
yêu cầu khắt khe tại mọi quốc gia trên thế giới. Các hệ thống nhận dạng con người
được ra đời với độ tin cậy ngày càng cao. Một trong các bài toán nhận dạng con
người rất được quan tâm hiện nay là nhận dạng khuôn mặt. Vì nhận dạng khuôn mặt
là cách mà con người sử dụng để phân biệt nhau. Bên cạnh đó, ngày nay việc thu
thập, xử lý thông tin qua ảnh để nhận biết đối tượng đang được quan tâm và ứng dụng
rộng rãi. Với phương pháp này, chúng ta có thể thu nhận được nhiều thông tin từ đối
tượng mà không cần tác động nhiều đến đối tượng nghiên cứu. Sự phát triển của khoa
học máy tính tạo môi trường thuận lợi cho bài toán nhận dạng khuôn mặt người từ
ảnh số. Các hệ thống nhận dạng offline đã ra đời và có độ tin cậy cao, tuy nhiên các
hệ thống nhận dạng online lại chưa đáp ứng được nhiều.
Bài toán nhận dạng khuôn mặt người là một bài toán hấp dẫn, không giới hạn
giải pháp sử dụng, vận dụng linh hoạt kiến thức trong nhiều lĩnh vực, đã thách thức
nhiều người nghiên cứu vì tính ứng dụng to lớn trong thực tế. Đây là một chủ đề có
thể nói còn tương đối mới với những ứng dụng mang tính công nghệ cao như: robot,
các thiết bị camera,các hệ thống bảo mật, nhận dạng,…đã và đang được các hãng,
công ty áp dụng vào nhằm nâng cao các tính năng sản phẩm của mình trong quá trình
cạnh tranh trên thị trường hiện nay…
Với mong muốn tiếp cận các công nghệ mới, đồng thời bổ sung kiến thức về
khoa học kỹ thuật hiện đại, cũng như tổng kết lại những kỹ năng, kiến thức trong suốt
quá trình học tập tại trường, chúng em xin chọn đề tài “ Dò tìm và cắt ảnh mặt
người dùng PCA”. Đây có thể là một bài toán nhỏ, nhưng nó cũng giúp chúng em có
một cái nhìn khái quát về bài toán, tạo cơ sở tiền đề cho sự tìm tòi và phát triển các
hướng cao hơn trong sự nghiên cứu các công nghệ mới...
Bài luận này được trình bày bao gồm có 5 chương:
• Chương 1: Giới thiệu Matlab và khái quát về ảnh.
• Chương 2: Các phương pháp xác định khuôn mặt.
• Chương 3: Phân tích thành phần chính PCA.
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
• Chương 4: Chương trình mô phỏng.
• Chương 5: Kết luận.
- Tìm hiểu phương pháp nhận diện ảnh.
- Nghiên cứu PCA.
- Dò tìm ảnh mặt người có không gian (1=>4).
- Cắt ảnh mặt và lưu vào 1 file.
- Xử lý ảnh động qua webcam.
Trong bài luận này chúng em xin đề cập tới vấn đề dò tìm và nhận dạng mặt
người qua một ảnh tĩnh cho trước, đồng thời mở rộng hơn là xử lý ảnh thu được qua
một thiết bị thu ảnh, ví dụ như: camera, webcam,…
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
LỜI CẢM ƠN
Sau một thời gian học tập và nghiên cứu, cuối cùng chúng em cũng đã hoàn
thành bài luận nghiên cứu của mình. Đây là thời điểm tốt nhất để chúng em có dịp
được bày tỏ lòng biết ơn của mình đến những người thân đã giúp đỡ động viên trong
suốt quá trình chúng em thực hiện bài luận này.
Trước tiên, chúng em xin cảm ơn BGH trường Đại Học Công Nghiệp Thành
Phố Hồ Chí Minh, Quý Thầy Cô trong khoa Công nghệ Điện Tử đã tạo điều kiện cho
chúng em thực hiện bài luận này. Đặc biệt là Cô Đào Thị Thu Thủy, Cô không chỉ là
người hướng dẫn khoa học một cách tài tình, mà còn là người dìu dắt chúng em, động
viên và định hướng cho chúng em có những bước đi đầu đời về một cách nhìn khoa
học về trí thức, cuộc sống, và sự cố gắng phấn đấu trong tương lai, điều này có ý
nghĩa rất sâu sắc đối với chúng em, giúp chúng em tự tin và nổ lực hoàn thành bài
luận này đúng thời hạn. Một lần nữa, chúng em xin bày tỏ lòng biết ơn sâu sắc đến
với Cô.
Đồng thời chúng con xin cám ơn cha mẹ, anh chị đã hết sức thông cảm, chia
sẽ và động viên chúng con trong những khó khăn trong quá trình làm đồ án tốt nghiệp
này.
Xin cám ơn những người bạn thân yêu, những người đã yêu mến, chia sẽ, giúp
đỡ chúng tôi trong lúc chúng tôi thực hiện bài luận này.
Kết quả của bài luận này là món quà mà chúng em dành tặng cho tất cả mọi
người thân yêu, với tất cả tấm lòng mình!
Sinh viên thực hiện
Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Chữ ký của giáo viên
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
Chữ ký của giáo viên
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
MỤC LỤC
Trang
Chương 1: GIỚI THIỆU MATLAB VÀ KHÁI QUÁT VỀ ẢNH
1
1.1 Giới thiệu chung về phần mềm Matlab ......................................................................2
1.1.1 Khái niệm về Matlab..............................................................................................2
1.1.2 Tổng quan về cấu trúc dữ liệu Matlab, các ứng dụng..................................2
1.1.2.1 Dữ liệu.............................................................................................................3
1.1.2.2 Ứng dụng ........................................................................................................3
1.1.2.3 Toolbox là một công cụ quan trọng trong Matlab ..............................3
1.1.3 Hệ thống Matlab......................................................................................................3
1.1.4 Làm quen với Matlab.............................................................................................4
1.1.5 Các cửa sổ làm việc của Matlab.........................................................................5
1.2 Giới thiệu khái quát về ảnh số.......................................................................................7
1.2.1 Các khái niệm cơ bản về ảnh...............................................................................7
1.2.2 Các cách phân loại ảnh..........................................................................................8
1.3 Xử lý ảnh với Matlab.......................................................................................................9
1.3.1 Xử lý ảnh...................................................................................................................9
1.3.2 Các giai đoạn xử lý ảnh...................................................................................... 10
1.3.3 Xử lý ảnh với Matlab.......................................................................................... 11
1.3.3.1 Các kiểu ảnh trong Matlab...................................................................... 11
1.3.3.2 Các hàm xử lý ảnh cơ bản trong Matlab............................................. 13
1.3.3.3 Biến đổi không gian ảnh.......................................................................... 20
Chương 2: CÁC PHƯƠNG PHÁP XÁC ĐỊNH KHUÔN MẶT
36
2.1 Định nghĩa bài toán xác định khuôn mặt người.................................................... 37
2.2 Ứng dụng của phương pháp xác định khuôn mặt................................................. 37
2.3 Phương pháp xác định khuôn mặt............................................................................. 39
2.3.1 Hướng tiếp cận dựa trên tri thức...................................................................... 40
2.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi.................................... 41
2.3.2.1 Các đặc trưng khuôn mặt ........................................................................ 42
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
2.3.2.2 Kết cấu.......................................................................................................... 45
2.3.2.3 Sắc màu của da........................................................................................... 45
2.3.2.4 Đa đặc trưng................................................................................................ 45
2.3.3 Hướng tiếp cận dựa trên so khớp mẫu........................................................... 45
2.3.4 Hướng tiếp cận dựa trên diện mạo.................................................................. 46
2.4 Khó khăn và thử thách trong bài toán xác định khuôn mặt người................... 47
Chương 3: PHÂN TÍCH THÀNH PHẦN CHÍNH PCA
(PRINCIPAL COMPONENT ANALYSIS)
48
3.1 Sơ lược về phân tích thành phần chính PCA ......................................................... 49
3.2 Thuật toán PCA và ứng dụng trong nhận dạng khuôn mặt người ................... 50
3.2.1 Thuật toán .............................................................................................................. 50
3.2.2 Phân tích thành phần chính PCA..................................................................... 50
3.2.3 Hình ảnh minh họa.............................................................................................. 53
3.3 Ứng dụng Eigenfaces trong việc nhận dạng mặt người...................................... 56
3.3.1 Tính toán Eigenfaces .......................................................................................... 59
3.3.2 Dùng Eigenfaces để phân loại ảnh mặt người............................................. 61
3.3.3 Ứng dụng Eigenfaces để phát hiện gương mặt ........................................... 62
3.3.3.1 Xem xét lại không gian mặt ................................................................... 63
3.3.3.2 Nhận dạng theo thời gian thực............................................................... 64
3.4 Nhận xét............................................................................................................................ 65
3.4.1 Ưu điểm của phương pháp PCA...................................................................... 65
3.4.2 Nhược điểm của PCA......................................................................................... 65
Chương 4: CHƯƠNG TRÌNH MÔ PHỎNG
67
4.1 Chương trình mô phỏng............................................................................................... 68
4.1.1 Cơ sở dữ liệu ảnh................................................................................................. 68
41.1.1 Tập ảnh huấn luyện ....................................................................................... 68
4.1.1.2 Tập ảnh mẫu................................................................................................ 69
4.1.2 Các bước thực hiện chương trình.................................................................... 70
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
4.1.3 Lưu đồ giải thuật................................................................................. 72
4.1.3.1 Lưu đồ giải thuật chính .............................................................. 72
4.1.3.2 Lưu đồ giải thuật chi tiết ............................................................ 72
4.1.4 Kết quả mô phỏng............................................................................... 77
4.1.5 Tốc độ thực hiện. ................................................................................ 80
4.2 Nhận xét kết quả đạt được........................................................................... 81
Chương 5: KẾT LUẬN................................................................................... 85
5.1 Kết luận ....................................................................................................... 85
5.2 Hướng phát triển đề tài................................................................................ 85
PHỤ LỤC.............................................................................................................
TÀI LIỆU THAM KHẢO ..................................................................................
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
MỤC LỤC HÌNH
Trang
Hình 1.1 Cửa sổ khi khởi động Matlab..............................................................................4
Hình 1.2 Cửa sổ Command History....................................................................................6
Hình 1.3 Cửa sổ Workspace .................................................................................................6
Hình 1.4 Cửa sổ Array Editor..............................................................................................7
Hình 1.5 Các bước cơ bản trong xử lý ảnh ......................................................................9
Hình 1.6 Ảnh trước và sau khi imresize.......................................................................... 23
Hình 1.7 Ảnh trước và sau khi imrotate ......................................................................... 26
Hình 1.8 Ảnh được quay theo chiều ngang ................................................................... 27
Hình 1.9 Ảnh trước và sau khi imcrop............................................................................ 28
Hình 1.10 Ảnh trước và sau khi imcrop theo 1 tọa độ cho trước............................ 30
Hình 1.11 Ảnh trước và sau khi imtransforms.............................................................. 32
Hình 1.12 Ảnh trước và sau khi imtransformsvới 1 cường độ ảnh......................... 35
Hình 2.1 Độ phân giải của 1 ảnh ..................................................................................... 41
Hình 2.2 Một loại trí thức của người nghiên cứu phân tích trên khuôn mặt......41
Hình 2.3 Một mẫu khuôn mặt, có 16 vùng và 23 quan hệ (các mũi tên)............... 46
Hình 3.1 Eigenfaces.............................................................................................................. 53
Hình 3.2 Bức ảnh kiểm tra và hình chiếu của nó......................................................... 54
Hình 3.3 Ảnh ban đầu..........................................................................................................55
Hình 3.4 Face map của bức ảnh ban đầu...................................................................... 55
Hình 3.5 Face map ảnh ban đầu với không gian không phải là khuôn mặt ........ 56
Hình 3.6 Những gương mặt dùng để huấn luyện......................................................... 57
Hình 3.7 Bảy Eigenfaces được tính toán từ dãy huấn luyện của hình 4.6,
phông nền đã được loại bỏ................................................................................................. 58
Hình 3.8 Ảnh và hình chiếu của nó vào không gian mặt người xác định bởi
các Eigenfaces từ hình 3.7..................................................................................................61
Hình 3.9 Ảnh gốc và bản đồ mặt người, vùng tối chỉ ra hình dạng
khuôn mặt ................................................................................................................................ 63
Hình 3.10 Ví dụ đơn giản thể hiện 4 hình chiếu của ảnh lên không gian mặt người.
Trong trường hợp này sử dụng 2 eigenfaces là µ1, µ2 và 3 lớp mặt người (cá thể) đã
biết trước (Ω1, Ω2, Ω3)....................................................................................................... 63
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Hình 3.11 Hệ thống dò tìm và định vị mặt người......................................................... 64
Hình 4.1 Tập ảnh Face........................................................................................................ 68
Hình 4.2 Tập ảnh nface.......................................................................................................69
Hình 4.3 Tập ảnh mẫu .........................................................................................................70
Hình 4.4 Lưu đồ giải thuật chính ..................................................................................... 72
Hình 4.5 Lưu đồ giải thuật chọn ảnh .............................................................................. 73
Hình 4.6 Lưu đồ giải thuật chương trình dò tìm ảnh mặt người............................. 74
Hình 4.7 Lưu đồ giải thuật chương trình nhận dạng..................................................75
Hình 4.8 Lưu đồ giải thuật PCA....................................................................................... 76
Hình 4.9 Giao diện chính.................................................................................................... 77
Hình 4.10 Giao diện chương trình 1 (ảnh tĩnh) ........................................................... 77
Hình 4.11 Giao diện chương trình 2 (ảnh động) ......................................................... 78
Hình 4.12 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 1 khuôn mặt ............ 78
Hình 4.13 Giao diện kết quả chương trình 2 (ảnh động)với 1 khuôn mặt............ 79
Hình 4.14 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 2 khuôn mặt ............ 79
Hình 4.15 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 4 khuôn mặt nữ .. 80
Hình 4.16 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 4 khuôn mặt nam80
Hình 4.17 Ảnh lỗi do quá nhiều chi tiết không phân biệt được............................... 83
Hình 4.18 Lỗi do ảnh không được sắc nét ..................................................................... 84
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 1
Chương 1
GIỚI THIỆU
MATLAB VÀ KHÁI
QUÁT VỀ ẢNH
1.1 Giới thiệu chung về phần mềm Matlab
1.2 Giới thiệu khái quát về ảnh số
1.3 Xử lý ảnh với Matlab
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 2
Chương 1
GIỚI THIỆU MATLAB VÀ
KHÁI QUÁT VỀ ẢNH
1.1 Giới thiệu chung về phần mềm Matlab
1.1.1 Khái niệm về Matlab
Matlab là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải
các bài toán về kỹ thuật. Matlab tích hợp được việc tính toán, thể hiện kết quả, cho
phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu cùng với
thư viện được lập trình sẵn cho phép người sử dụng có thể có được những ứng dụng
sau đây.
• Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường.
• Cho phép lập trình tạo ra những ứng dụng mới.
• Cho phép mô phỏng các mô hình thực tế.
• Phân tích, khảo sát và hiển thị dữ liệu.
• Với phần mềm đồ hoạ cực mạnh.
• Cho phép phát triển, giao tiếp với một số phần mềm khác như C++, Fortran.
1.1.2 Tổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng
Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng (mảng
này không đòi hỏi về kích thước). Chúng cho phép giải quyết các vấn đề liên quan
đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay vectơ và
có thể sử dụng ngôn ngữ C học Fortran lập trình rồi thực hiện ứng dụng lập trình đó
bằng các câu lệnh gọi từ Matlab. Matlab được viết tắt từ chữ “MATrix LABoratory”
tức là thư viện về ma trận, từ đó phần mềm Matlab được viết nhằm cung cấp cho việc
truy cập vào phần mềm ma trận một cách dễ dàng, phần mềm ma trận này được phát
triển bởi các công trình Linpack và Eispack. Ngày nay Matlab được phát triển bởi
Lapack và Artpack tạo nên một nghệ thuật phần mềm cho ma trận.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 3
1.1.2.1 Dữ liệu
Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), và có
các kiểu dữ liệu được liệt kê sau đây:
• Kiểu đơn single, kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ
hơn, kiểu dữ liệu này không được sử dụng trong các phép tính toán học, độ
chính xác kém hơn.
• Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong Matlab.
• Kiểu Sparse.
• Kiểu uint8, uint8, uint16, uint64...
• Kiểu char ví dụ “Hello”.
• Kiểu cell.
• Kiểu Structure.
Trong Matlab kiểu dữ liệu double là kiểu mặc định sử dụng trong các phép
tính số học.
1.1.2.2 Ứng dụng
Matlab tạo điều kiện thuận lợi cho:
• Các khoá học về toán học.
• Các kỹ sư, các nhà nghiên cứu khoa học.
• Dùng Matlab để tính toán, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản
xuất.
1.1.2.3 Toolbox là một công cụ quan trọng trong Matlab
Công cụ này được Matlab cung cấp cho phép bạn ứng dụng các kỹ thuật để
phân tích, thiết kế, mô phỏng các mô hình.
Ta có thể tìm thấy toolbox ở trong mô trường làm việc của.
• Mạng nơron.
• Logic mờ.
• Simulink.
1.1.3 Hệ thống Matlab
Hệ thống giao diện của Matlab được chia thành 5 phần:
• Môi trường phát triển.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 4
Đây là nơi đặt các thanh công cụ, các phương tiện giúp chúng ta sử dụng các
lệnh và các file, ta có thể liệt kê một số như sau.
+ Desktop.
+ Command Window.
+ Command History.
+ Browsers for viewinghelp.
• Thư viện, các hàm toán học bao gồm các cấu trúc như tính tổng, sin cosin
atan, atan2 etc..., các phép tính đơn giản đến các phép tính phức tạp như tính
ma trận nghich đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library.
• Ngôn ngữ Matlab. Đó là các ngôn ngữ cao về ma trận và mảng, với các dòng
lệnh, các hàm, cấu trúc dữ liệu vào, có thể lập trình hướng đối tượng.
• Đồ hoạ trong Matlab. Bao gồm các câu lệnh thể hiện đồ họa trong môi trường
2D và 3D, tạo các hình ảnh chuyển động, cung cấp các giao diện tương tác
giữa người sử dụng và máy tính.
• Giao tiếp với các ngôn ngữ khác. Matlab cho phép tương tác với các ngôn ngữ
khác như C, Fortran …
1.1.4 Làm quen với Matlab
Trước tiên để khởi động Matlab bạn kích click vào biểu tượng file Matlab.exe,
trên màn hình xuất hiện cửa sổ sau. (Xem hình vẽ 1.1) Cửa sổ đó chứa các thanh
công cụ (Giao diện người và máy) cần thiết cho việc quản lý các files, các biến, cửa
sổ lệnh, có thể coi desktop là các panel gồm các ô, vùng, quản lý và tác dụng của
từng cửa sổ nhỏ được quản lý bởi desktop.
Hình 1.1 Cửa sổ khi khởi động Matlab
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 5
Trên hình vẽ ta thấy cửa sổ desktop (cửa sổ lớn nhất), và các cửa sổ phụ của
nó.
1.1.5 Các cửa sổ làm việc của Matlab
a) Cửa sổ Command Window
Là cửa sổ giao tiếp chính của Matlab bởi đây là nơi nhập giá trị các biến, hiển
thị giá trị, tính toán giá trị của biểu thức, thực thi các hàm có sẵn trong thư viện (dạng
lệnh), hoặc các hàm (dạng function) do người dùng lập trình ra trong M-file.
Các lệnh được nhập sau dấu nhắc “>>”, và nếu có sai sót trong quá trình gõ
(nhập) lệnh thì hãy nhấn phím Enter cho đến khi nhận được dấu nhắc “>>”. Thực
thi lệnh bằng nhấn phím Enter.
Gõ các lệnh sau:
>> A= pi/2 ;
>> B= sin(A)
B=
1
Hoặc chương trình soạn thảo trong M-file dưới đây:
% Chuong trinh trong M-file
x= 0:pi/6:2*pi;
y=sin(x);
plot(x, y);
% chuong trinh được lưu với tên file là “ve_sin.m”
b) Cửa sổ command History
Các dòng mà bạn nhập vào trong cửa sổ Command Window (các dòng này
có thể là dòng nhập biến, hoặc có thể là dòng lệnh thực hiện hàm nào đó) được giữ lại
trong cửa sổ Command History, và cửa sổ này cho phép ta sử dụng lại những lệnh đó
bằng cách click chuột lên các lệnh đó hoặc các biến, nếu như bạn muốn sử dụng lại
biến đó. Xem hình 1.2
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 6
Click
chuột lên
lệnh hoặc
biến để sử
dụng lại
Hình 1.2 Cửa sổ Command History
c) Cửa sổ Workspace
Là cửa sổ thể hiện tên các biến bạn sử dụng cùng với kích thước vùng nhớ (số
bytes), kiểu dữ liệu(lớp), các biến được giải phóng sau mỗi lần tắt chương trình. (xem
hình 1.3)
Click
chuột lên
biến để
xem dữ
liệu (hoặc
thay đổi
giá trị)
Hình 1.3 Cửa sổ Workspace
Ngoài ra nó cho phép thay đổi giá trị, cũng như kích thước của biến bằng cách
click chuột lên các biến. Hoặc click vào nút bên trái ngay cạnh nút save. Ví dụ khi
chọn biến (giả sử là biến b) rồi click (hoặc click chuột vào nút cạnh nút save) ta được
cửa sổ sau gọi là Array Editor (xem hình 1.4)
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 7
Hình 1.4 Cửa sổ Array Editor
Tiêu đề là tên biến b, định dạng dữ liệu ở ô có tên là: Numeric format, mặc
định là dạng short, kích thước size là 1 by 3 (tức là một hàng và 3 cột) ta có thể thay
đổi kích thước này bằng cách thay đổi giá trị có trong ô kích thước size.
Dùng cửa sổ này để lưu các biến ở dưới là dữ liệu của biến b, ta có thể thay
đổi chúng bằng cách thay đổi giá trị trong các ô đó. Tất cả các biến đều được lưu
trong Workspace trong đó thể hiện cả kích thước (Size), số Bytes và kiểu dữ liệu
(class) (8 bytes cho mỗi phần tử dữ liệu kiểu double cụ thể là 24 bytes dành cho b và
8 bytes dành cho a).
d) Cửa sổ M-file
Là một cửa sổ dùng để soạn thảo chương trình ứng dụng, để thực thi chương
trình viết trong M-file bằng cách gõ tên của file chứa chương trình đó trong cửa sổ
Commandwindow.
Khi một chương trình viết trong M-file, thì tuỳ theo ứng dụng cụ thể, tuỳ theo
người lập trình mà chương trình có thể viết dưới dạng sau:
• Dạng Script file: Tức là chương trình gồm tập hợp các câu lệnh viết dưới dạng
liệt kê, không có biến dữ liệu vào và biến lấy giá trị ra.
• Dạng hàm function: có biến dữ liệu vào và biến ra.
e) Đường dẫn thư mục: Nơi lưu giữ các files chương trình.
1.2 Giới thiệu khái quát về ảnh số
1.2.1 Các khái niệm cơ bản về ảnh
Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả
ảnh gần với ảnh thật. Số điểm ảnh xác định độ phân giải của ảnh. Ảnh có độ phân
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 8
giải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm
ảnh trở nên thực và sắc nét hơn.
a) Điểm ảnh (Picture Element)
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc
màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích
hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu)
của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh.
b) Mức xám của ảnh
Mức xám: Là kết quả của sự biến đổi tương ứng 1 giá trị độ sáng của 1 điểm
ảnh với 1 giá trị nguyên dương. Thông thường nó xác định trong [0, 255] tuỳ thuộc
vào giá trị mà mỗi điểm ảnh được biểu diễn.
Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là
mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức
xám. Mức xám dùng 1 byte biểu diễn: 28
=256 mức, tức là từ 0 đến 255).
c) Độ phân giải của ảnh
Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn
định trên một ảnh số được hiển thị.
Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt
người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo
nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y
trong không gian hai chiều.
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là
một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh
(320*200). Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA
17” độ phân giải 320*200. Lý do: cùng một mật độ (độ phân giải) nhưng diện tích
màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn.
1.2.2 Các cách phân loại ảnh
Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận giá trị 1 hoặc 0
như vậy mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 bit.
Ảnh xám: Giá trị xám nằm trong [0, 255] như vậy mỗi điểm ảnh trong ảnh
nhị phân được biểu diễn bởi 1 byte.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 9
Ảnh màu:
- Hệ màu RGB:
Một pixel được biểu diễn bằng 3 giá trị (R, G, B) trong đó R, G, B là một giá trị
xám và được biểu biểu diễn bằng 1 byte. Khi đó ta có một ảnh 24 bits.
P(x, y) = (R, G, B)
- Hệ màu CMY: là phần bù của hệ màu RGB
(C, M, Y) = (1, 1, 1) - (R, G, B)
Hay C+R=M+G=Y+B=1 => Hệ màu này
thường được dùng trong máy in.
- Hệ màu CMYK: trong đó K là độ đậm nhạt của màu K= min(C, M, Y)
P(x, y) = (C-K, M-K, V-K, K).
Ví dụ:
Với (C1, M1, Y1) ta sẽ có K=min(C1, M1, Y1)
vậy CMYK=(C1-K, M1-K, Y1-K, K)
1.3 Xử lý ảnh với Matlab
1.3.1 Xử lý ảnh
Các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới ngoài
được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước đây, ảnh thu
qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với sự phát
triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được
chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. Máy ảnh số hiện nay
là một thí dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ
ảnh chụp bằng máy quét ảnh. Hình dưới đây mô tả các bước cơ bản trong xử lý ảnh.
Thu nhận
ảnh
Tiền xử
lý ảnh
Phân
đoạn ảnh
Cơ sở tri
thức
Biểu diễn Nhận
và mô tả dạng và
nội suy
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 10
Hình 1.5 Các bước cơ bản trong xử lý ảnh
1.3.2 Các giai đoạn xử lý ảnh
a) Thu nhận ảnh (Image Acquisition)
- Ảnh được thu từ nhiều nguồn khác nhau:máy ảnh, máy quay phim, máy quét,
ảnh vệ tinh…
- Mục đích: biến đổi thông tin hình ảnh về các cấu trúc được lưu trữ trong máy
tính, có thể hiển thị ra các thiết bị ngoại vi như là máy in, màn hình…
- Gồm hai tiến trình:
+ Biến đổi năng lượng quang học thành năng lượng điện.
+ Tổng hợp năng lượng điện thành ảnh hoặc ma trận số.
b) Tiền xử lý (Image Processing)
- Là quá trình sử dụng các kỹ thuật xử lý ảnh để làm ảnh tốt lên theo mục đích
sử dụng.
- Mục đích:
+ Điều chỉnh độ chiếu sáng để khắc phục hậu quả của việc chiếu sáng không
đều.
+ Giảm nhỏ thành phần nhiễu của ảnh tức là các đối tượng xuất hiện ngoài ý
muốn.
+ Hiệu chỉnh giá trị độ sáng giữa nền và đối tượng.
+ Chuẩn hoá độ lớn, màu, dạng của ảnh.
+Điều chỉnh bộ lọc để khuyếch đại và nén các tần số.
c) Phân đoạn (Segmentation)
- Là quá trình phân chia nội dung các đối tượng cần khảo sát ra khỏi ảnh.
- Phân chia các đối tượng tiếp giáp nhau.
- Phân tách các đối tượng riêng biệt thành các đối tượng con.
d) Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân
đoạn) cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành
dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất
để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 11
các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt
lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được.
Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc
trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác.
e) Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được
bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán
đoán theo ý nghĩa trên cơ sở nhận dạng.
Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội
suy thành mã điện thoại. Có nhiều cách phân loai ảnh khác nhau về ảnh. Theo lý
thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng
ảnh cơ bản:
- Nhận dạng theo tham số.
- Nhận dạng theo cấu trúc.
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong
khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử),
nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt
người…
f) Cơ sở tri thức (Knowledge Base)
Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng
tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong
nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học
đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử
lý ảnh theo cách của con người. Trong các bước xử lý đó, nhiều khâu hiện nay đã xử
lý theo các phương pháp trí tuệ con người. Vì vậy, ở đây các cơ sở tri thức được phát
huy.
1.3.3 Xử lý ảnh với Matlab
1.3.3.1 Các kiểu ảnh trong Matlab
a) Ảnh được định chỉ số (Indexed Images)
Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản đồ màu map.
Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16 hoặc kiểu double. Ma trận bản
đồ màu là một mảng mx3 kiểu double bao gồm các giá trị dấu phẩy động nằm
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 12
giữa 0 và 1. Mỗi hàng của bản đồ chỉ ra các giá trị mà: red, green và blue của một
màu đơn. Một ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị
trong bản đồ màu. Màu sắc của mỗi pixel ảnh được tính toán bằng cách sử dụng giá
trị tương ứng của X ánh xạ tới một giá trị chỉ số của map. Giá trị 1 chỉ ra hàng đầu
tiên, giá trị 2 chỉ ra hàng thứ hai trong bản đồ màu …
Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạp
cùng với ảnh khi sử dụng hàm imread để đọc ảnh. Tuy nhiên, ta không bị giới hạn
khi sử dụng bản đồ màu mặc định, ta có thể sử dụng bất kì bản đồ màu nào.
b) Ảnh cường độ (Intensity Images)
Một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của nó đại diện cho
cường độ trong một số vùng nào đó của ảnh. Matlab chứa một ảnh cường độ như một
ma trận đơn, với mỗi phần tử của ma trận tương ứng với một pixel của ảnh. Ma trận
có thể thuộc lớp double, uint8 hay uint16. Trong khi ảnh cường độ hiếm khi được lưu
với bản đồ màu, Matlab sử dụng bản đồ màu để hiển thị chúng.
Những phần tử trong ma trận cường độ đại diện cho các cường độ khác nhau
hoặc độ xám. Những điểm có cường độ bằng 0 thường được đại diện bằng màu đen
và cường độ 1,255 hoặc 65535 thường đại diện cho cường độ cao nhất hay màu trắng.
c) Ảnh nhị phân (Binary Images)
Trong một ảnh nhị phân, mỗi pixel chỉ có thể chứa một trong hai giá trị nhị
phân 0 hoặc 1. Hai giá trị này tương ứng với bật hoặc tắt (on hoặc off). Một ảnh nhị
phân được lưu trữ như một mảng logic của 0 và 1.
d) Ảnh RGB (RGB Images)
Một ảnh RGB - thường được gọi là true-color, được lưu trữ trong Matlab dưới
dạng một mảng dữ liệu có kích thước 3 chiều mxnx3 định nghĩa các giá trị màu red,
green và blue cho mỗi pixel riêng biệt. Ảnh RGB không sử dụng palette. Màu của
mỗi pixel được quyết định bởi sự kết hợp giữa các giá trị R, G, B (Red, Green, Blue)
được lưu trữ trong một mặt phẳng màu tại vị trí của pixel. Định dạng file đồ hoạ lưu
trữ ảnh RGB giống như một ảnh 24 bits trong đó R, G, B chiếm tương ứng 8 bit một.
Điều này cho phép nhận được 16 triệu màu khác nhau.
Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16. Trong một mảng
RGB thuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1. Một pixel mà
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 13
thành phần màu của nó là (0, 0, 0) được hiển thị với màu đen và một pixel mà thành
phần màu là (1, 1, 1 ) được hiển thị với màu trắng. Ba thành phần màu của mỗi pixel
được lưu trữ cùng với chiều thứ 3 của mảng dữ liệu. Chẳng hạn, giá trị màu R, G, B
của pixel (10, 5) được lưu trữ trong RGB(10, 5, 1), RGB(10, 5, 2) và RGB(10, 5, 3)
tương ứng.
Để tính toán màu sắc của pixel tại hàng 2 và cột 3 chẳng hạn, ta nhìn vào bộ
ba giá trị được lưu trữ trong (2, 3, 1:3). Giả sử (2, 3, 1) chứa giá trị 0.5176; (2, 3, 2)
chứa giá trị 0.1608 và (2, 3, 3) chứa giá trị 0.0627 thì màu sắc của pixel tại (2, 3) sẽ là
(0.5176, 0.1608, 0.0627).
1.3.3.2 Các hàm xử lý ảnh cơ bản trong Matlab
a) Đọc và ghi dữ liệu ảnh
ƒ Đọc một ảnh đồ hoạ
- Hàm imread đọc một ảnh từ bất kì định dạng nào được trợ giúp trong bất kì
chiều sâu bit nào được trợ giúp. Hầu hết các file ảnh sử dụng 8 bit để chứa giá
trị của pixel. Khi chúng được đọc vào bộ nhớ, Matlab chứa chúng dưới
dạng uint8. Với các file trợ giúp 16 bít dữ liệu, PNG và TIFF, Matlab chứa
chúng dưới dạng uint16.
Chú ý: Với ảnh chỉ số, imread luôn luôn đọc bản đồ màu vào trong một chuỗi
thuộc lớp double, thậm chí mảng ảnh tự nó thuộc lớp uint8 hay uint16
- Chẳng hạn, đoạn mã sau sẽ đọc một ảnh RGB vào không gian làm việc của
Matlab lưu trong biến RGB.
RGB=imread(‘football.jpg’);
Trong ví dụ này, imread sẽ nhận ra định dạng file để sử dụng từ tên file. Ta
cũng có thể chỉ ra định dạng file như một tham số trong hàm imread. Matlab trợ giúp
rất nhiều định dạng đồ hoạ thông dụng chẳng hạn: BMP, GIF, JPEG, PNG, TIFF …
Để biết thêm các kiểu gọi hàm và tham số truyền vào, xem trợ giúp online của
Matlab.
9 Đọc nhiều ảnh từ một file đồ hoạ
- Matlab trợ giúp một số định dạng file đồ hoạ chẳng hạn như: HDF và TIFF,
chúng chứa nhiều ảnh. Theo mặc định, imread chỉ trợ giúp ảnh đầu tiên trong
file. Để nhập thêm các ảnh từ file, sử dụng cú pháp được trợ giúp bởi
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 14
định dạng file. Chẳng hạn, khi được sử dụng với TIFF, ta có thể sử dụng một
giá trị chỉ số với imread để chỉ ra ảnh mà ta muốn nhập vào.
Ví dụ sau đây đọc một chuỗi 27 ảnh từ một file TIFF và lưu những ảnh này
trong một mảng 4 chiều. Ta có thể sử dụng hàm iminfo để xem bao nhiêu ảnh đã
được lưu trữ trong file:
mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array
for frame=1:27
[mri(:,:,:,frame),map] = imread('mri.tif',frame);
End
- Khi file chứa nhiều ảnh theo một số kiểu nhất định chẳng hạn theo thứ tự
thời gian, ta có thể lưu ảnh trong Matlab dưới dạng mảng 4 chiều. Tất cả các
ảnh phải có cùng kích thước.
ƒ Ghi một ảnh đồ hoạ
- Hàm imwrite sẽ ghi một ảnh tới một file đồ hoạ dưới một trong các định dạng
được trợ giúp. Cấu trúc cơ bản nhất của imwrite sẽ yêu cầu một biến
ảnh và tên file. Nếu ta gộp một phần mở rộng trong tên file, Matlab sẽ nhận ra
định dạng mong muốn từ nó.
Ví dụ sau tải một ảnh chỉ số X từ một file Map với bản đồ màu kết hợp với nó
map sau đó ghi ảnh xuống một file bitmap.
load clown
whos
Name Size Bytes Class
X 200x320 512000 double array
caption 2x1 4 char array
map 81x3 1944 double array
Grand total is 64245 elements using 513948 bytes
imwrite(X,map,'clown.bmp')
9 Chỉ ra định dạng phụ - Tham số đặc biệt
- Khi sử dụng imwrite với một số định dạng đồ hoạ, ta có thể chỉ ra các tham số
phụ. Chẳng hạn, với định dạng PNG ta có thể chỉ ra độ sâu bit như một tham
số phụ. Ví dụ sau sẽ chi một ảnh cường độ I với một file ảnh 4 bit PNG.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 15
imwrite(I,'clown.png','BitDepth',4 );
- Để biết thêm các cấu trúc khác của hàm xem phần trợ giúp trực tuyến của
Matlab.
 Đọc và ghi ảnh nhị phân theo định dạng 1 bit
- Trong một số định dạng file, một ảnh nhị phân có thể được lưu trong một định
dạng 1 bit. Nếu định dạng file trợ giúp nó, Matlab ghi ảnh nhị phân như ảnh 1
bit theo mặc định. Khi ta đọc một ảnh nhị phân với định dạng 1 bit, Matlab đại
diện nó trong không gian làm việc như một mảng lôgic.
- Ví dụ sau đọc một ảnh nhị phân và ghi nó dưới dạng file TIFF. Bởi vì định
dạng TIFF trợ giúp ảnh 1 bit, file được ghi lên đĩa theo định dạng 1 bit:
BW = imread('text.png');
imwrite(BW,'test.tif');
Để kiểm tra chiều sâu bit của file test.tif, gọi hàm iminfo và kiểm tra trường
BitDepth của nó:
info = imfinfo('test.tif');
info.BitDepth
ans =1
Chú ý: Khi ghi file nhị phân, Matlab thiết lập trường ColorType thành
‘grayscale’.
 Xem lớp lưu trữ của file .
- Hàm imwrite sử dụng luật sau đây để quyết định lớp lưu trữ được sử dụng
trong ảnh kết quả:
+ logical: Nếu định dạng ảnh ra (Output Image) được chỉ rõ là trợ giúp ảnh 1
bit, hàm imwrite tạo một file ảnh 1 bit. Nếu định dạng ảnh ra được chỉ rõ là không
trợ giúp ảnh 1 bit (như JPEG), hàm imwrite chuyển ảnh tới một ảnh thuộc lớp uint8.
+ uint8: Nếu định dạng ảnh ra được chỉ rõ là trợ giúp ảnh 8 bit, hàm imwrite
tạo một ảnh 8 bit
+ uint16: Nếu định dạng ảnh ra được chỉ rõ trợ giúp ảnh 16 bit (PNG hoặc
TIFF), hàm imwrite tạo một ảnh 16 bit. Nếu định dạng ảnh ra không trợ giúp ảnh 16
bit, hàm chuyển đổi dữ liệu ảnh tới lớp uint8 và tạo một ảnh 8 bit.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 16
+ double: Matlab chuyển dữ liệu ảnh tới dạng uint8 và tạo một ảnh 8 bit bởi vì
hầu hết các file ảnh sử dụng định dạng 8 bit.
ƒ Truy vấn một file đồ hoạ
- Hàm imfinfo cho phép ta có thể nhận được thông tin về một file ảnh được trợ
giúp bởi toolbox.
Cú pháp: imfinfo(filename,fmt)
Các thông tin được cung cấp bởi hàm imfinfo là: filename, filemodedate,
filesize, format, formatversion, width, height, bitdepth, colortype … Thông tin mà ta
nhận được phụ thuộc vào kiểu của file nhưng nó luôn bao gồm những thông tin sau:
+ Tên của file ảnh.
+ Định dạng file ảnh.
+ Số version của định dạng file.
+ Ngày sửa đổi file gần nhất.
+ Kích thước file tính theo byte.
+ Chiều rộng ảnh tính theo pixel.
+ Chiều cao ảnh tính theo pixel.
+ Số lượng bít trên một pixel.
+ Kiểu ảnh: RGB, chỉ số …
b) Hiển thị ảnh
ƒ Dùng hàm imview
- Để hiển thị một ảnh sử dụng hàm imview, dùng hàm imview, chỉ rõ ảnh mà ta
muốn hiển thị. Ta có thể sử dụng imview để hiển thị một ảnh mà đã được
nhập vào trong không gian làm việc của Matlab.
moonfig = imread('moon.tif');
imview(moonfig);
Ta cũng có thể chỉ định tên của file ảnh như trong ví dụ sau:
imview('moon.tif');
- File ảnh phải có mặt trong thư mục hiện tại hoặc trong đường dẫn của Matlab.
Cấu trúc này có thể hữu ích cho việc quét qua nhiều ảnh. Tuy nhiên, lưu ý, khi
sử dụng cấu trúc này, dữ liệu ảnh không được lưu trong không gian làm việc
của Matlab.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 17
- Nếu ta gọi hàm imview mà không chỉ ra mất kì tham số nào, nó sẽ hiển thị
một hộp chọn file cho phép ta chỉ ra tên file muốn hiển thị.
9 Xem nhiều ảnh
- Nếu ta chỉ ra một file mà chứa nhiều ảnh, hàm imview chỉ hiển thị ảnh đầu
tiên trong file đó. Để xem tất cả các ảnh trong file, sử dụng hàm imread để
nhập mỗi ảnh vào trong không gian làm việc của Matlab sau đó gọi hàm
imview nhiều lần để hiển thị mỗi ảnh riêng biệt.
ƒ Dùng hàm imshow
- Để xem ảnh, ta có thể sử dụng hàm imshow thay cho imview. Ta sử dụng
imshow để hiển thị một ảnh đã được nhập vào trong không gian làm việc như
ví dụ sau:
moon = imread('moon.tif');
imshow(moon);
Ta cũng có thể chỉ ra tên của file ảnh như một tham số truyền vào cho hàm
như ví dụ sau: imshow('moon.tif');
Khi sử dụng cấu trúc này thì dữ liệu ảnh không được nhập vào trong không
gian làm việc. Tuy nhiên, ta có thể mang ảnh vào trong không gian làm việc bằng
cách sử dụng hàm getimage. Hàm này sẽ nhận dữ liệu ảnh từ handle của một đối
tượng ảnh hiện tại. Chẳng hạn: moon = getimage; Sẽ gán dữ liệu ảnh từ moon.tif vào
biến moon.
c) Các hàm chuyển đổi kiểu ảnh
- Với các thao tác nhất định sẽ thật hữu ích khi có thể chuyển đổi ảnh từ dạng
này sang dạng khác. Chẳng hạn, nếu ta muốn lọc một màu ảnh được lưu trữ
dưới dạng ảnh chỉ số đầu tiên ta nên chuyển đổi nó thành dạng ảnh RGB. Khi
ta áp dụng phép lọc tới ảnh RGB, Matlab sẽ lọc giá trị cường độ trong ảnh
tương ứng. Nếu ta cố gắng lọc ảnh chỉ số, Matlab đơn giản chỉ áp đặt phép lọc
tới ma trận ảnh chỉ số và kết quả sẽ không có ý nghĩa.
Chú ý: Khi chuyển đổi một ảnh từ dạng này sang dạng khác, ảnh kết quả có
thể khác ảnh ban đầu. Chẳng hạn, nếu ta chuyển đổi một ảnh màu chỉ số sang một
ảnh cường độ, kết quả ta sẽ thu được một ảnh đen trắng.
- Danh sách sau đây sẽ liệt kê các hàm được sử dụng trong việc chuyển đổi kiểu
ảnh:
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 18
+ dither: Tạo một ảnh nhị phân từ một ảnh cường độ đen trắng bằng cách
trộn, tạo một ảnh chỉ số từ một ảnh RGB bằng cách trộng (dither).
+ gray2id: Tạo một ảnh chỉ số từ một ảnh cường độ đen trắng.
+ grayslice: Tạo một ảnh chỉ số từ một ảnh cường độ đen trắng bằng cách đặt
ngưỡng.
+ im2bw: Tạ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.
+ ind2gray: Tạo một ảnh cường độ đen trắng từ một ảnh chỉ số.
+ ind2rgb: Tạo một ảnh RGB từ một ảnh chỉ số.
+ mat2gray: Tạo một ảnh cường độ đen trắng từ dữ liệu trong một ma trận
bằng cách lấy tỉ lệ giữ liệu.
+ rgb2gray: Tạo một ảnh cường độ đen trắng từ một ảnh RGB.
+ rgb2ind: Tạo một ảnh chỉ số từ một ảnh RGB.
- Ta cũng có thể thực hiện các phép chuyển đổi kiểu chỉ sử dụng cú pháp của
Matlab. Chẳng hạn, ta có thể chuyển đổi một ảnh cường độ sang ảnh RGB
bằng cách ghép nối 3 phần copy của ma trận ảnh gốc giữa 3 chiều:
RGB=cat(3,I,I,I );
- Ảnh RGB thu được có các ma trận đồng nhất cho các mặt phẳng R, G, B vì
vậy ảnh hiển thị giống như bóng xám.
- Thêm vào những công cụ chuyển đổi chuẩn đã nói ở trên, cũng có một số hàm
mà trả lại kiểu ảnh khác như một phần trong thao tác mà chúng thực hiện.
 Chuyển đổi không gian màu
- Toolbox xử lý ảnh biểu diễn màu sắc như các giá trị RGB ( trực tiếp trong ảnh
RGB hoặc gián tiếp trong ảnh chỉ số ). Tuy nhiên, có các phương pháp khác
cho việc biểu diễn màu sắc. Chẳng hạn, một màu có thể được đại diện bởi các
giá trị hue, saturation và các giá trị thành phần (HSV). Các phương pháp
khác cho việc biểu diễn màu được gọi là không gian màu.
- Toolbox cung cấp một tập các thủ tục để chuyển đổi giữa các không gian màu.
Các hàm xử lý ảnh tự chúng coi dữ liệu màu sắc dưới dạng RGB tuy nhiên, ta
có thể xử lý một ảnh mà sử dụng các không gian màu khác nhau
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 19
bằng cách chuyển đổi nó sang RGB sau đó chuyển đổi ảnh đã được xử lý trở
lại không gian màu ban đầu.
d) Chuyển đổi định dạng các file ảnh
- Để thay đổi định dạng đồ hoạ của một ảnh, sử dụng hàm imread để đọc một
ảnh và sau đó lưu nó với hàm imwrite đồng thời chỉ ra định dạng tương ứng.
- Để minh hoạ, ví dụ sau đây sử dụng hàm imread để đọc một file BMP vào
không gian làm việc.Sau đó, hàm imwrite lưu ảnh này dưới định dạng PNG
bitmap = imread('mybitmap.bmp','bmp');
imwrite(bitmap,'mybitmap.png','png');
e) Số học ảnh
- Số học ảnh sự ứng dụng của các phép toán số học chuẩn như: cộng, trừ, nhân,
chia lên ảnh. Số học ảnh được sử dụng nhiều trong xử lý ảnh trong cả các bước
ban đầu lẫn các thao tác phức tạp hơn. Chẳng hạn, trừ ảnh có thể được sử dụng
để phát hiện sự khác nhau giữa hai hoặc nhiều ảnh của cùng một cảnh hoặc
một vật.
- Ta có thể thực hiện số học ảnh sử dụng các toán tử số học của Matlab.
Toolbox xử lý ảnh bao gồm một tập hợp các hàm ứng dụng các phép toán số
học trên tất cả các con số không lấp đầy. Hàm số học của toolbox chấp nhận
bất kì kiểu dữ liệu số nào bao gồm uint8, uint16 hay double và trả lại ảnh kết
quả trong cùng định dạng. Các hàm thực hiện các phép toán với độ chính xác
kép trên từng phần tử nhưng không chuyển đổi ảnh tới giá trị chính xác kép
trong không gian làm việc của Matlab. Sự tràn số được điều khiển tự động.
Hàm sẽ cắt bỏ giá trị trả về để vừa với kiểu dữ liệu.
ƒ Luật cắt bỏ trong số học ảnh
- Kết quả của số học nguyên có thể dễ dàng tràn số dùng cho lưu trữ. Chẳng
hạn, giá trị cực đại ta có thể lưu trữ trong uint8 là 255. Các phép toán số học
có thể trả về giá trị phân số - không được biểu diễn bởi một chuỗi số nguyên.
- Các hàm số học ảnh sử dụng những luật này cho số học nguyên:
+ Giá trị vượt quá khoảng của kiểu số nguyên bị cắt bỏ tới khoảng đó
+ Giá trị phân số được làm tròn
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 20
Chẳng hạn, nếu dữ liệu có kiểu uint8, kết quả trả về nếu lớn hơn 255 ( bao
gồm Inf ) thì được gán là 255.
ƒ Lời gọi lồng nhau tới hàm số học ảnh
- Ta có thể sử dụng các hàm số học ảnh kết hợp để thực hiện một chuỗi các
phép toán. Chẳng hạn để tính giá trị trung bình của hai ảnh:
C=(A+B) /2
Ta có thể nhập vào như sau:
I = imread('rice.png');
I2 = imread('cameraman.tif');
K = imdivide(imadd(I,I2), 2); % not recommended
- Khi được sử dụng với kiểu uint8 hay uint16, mỗi hàm số học cắt kết quả của
nó trước khi truyền nó cho hàm thiếp theo. Sự cắt bỏ này có thể giảm đáng kể
lượng thông tin trong ảnh cuối cùng. Một cách làm tốt hơn để thực hiện một
chuỗi các tính toán là sử dụng hàm imlincomb. Hàm này thi hành tất cả các
phép toán số học trong sự kết hợp tuyến tính của độ chính xác kép và chỉ cắt
bỏ kết quả cuối cùng:
K = imlincomb(.5,I,.5,I2); % recommended
1.3.3.3 Biến đổi không gian ảnh
Biến đổi không gian ảnh là thực hiện ánh xạ giữa vị trí các pixel trong ảnh vào
với các pixel trong ảnh ra.
a) Bảng thuật ngữ
Tên thuật ngữ Diễn giải
Răng cưa - xuất hiện khi giảm kích thước
ảnh. Khi kích thước của một ảnh bị giảm,
các pixel gốc bị lấy mẫu giảm để tạo ra ít
Aliasing pixel hơn. Aliasing xảy ra như kết quả của
việc giảm kích thước ảnh thường xuất hiện
dưới dạng bậc thang ( đặc biệt trong các
ảnh có độ tương phản cao )
Antialiasing Các biện pháp chống răng cưa cho ảnh
Bicubic interpolation Giá trị của các pixel ra được tính toán từ
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 21
giá trị trung bình của 4x4 pixel lân cận
Bilinear interpolation
Gía trị của pixel ra được tính toán từ giá
trị trung bình của 2x2 pixel lân cận
Một thao tác sửa đổi quan hệ hình học gữa
Geometric operation các pixel trong một ảnh. Chẳng hạn thay
đổi kích thước ảnh, quay ảnh và xén ảnh
Interpolation
Quá trình được sử dụng để ước lượng giá
trị ảnh ở một vị trí giữa các pixel
Nearest-neighbor Các giá trị pixel ra được gán giá trị của
interpolation pixel nằm trong một vùng gần pixel đó.
b) Nội suy
Nội suy là quá trình sử dụng để ước lượng một giá trị ảnh ở một vị trí giữa các
pixel. Chẳng hạn, nếu ta thay đổi kích thước một ảnh, nó sẽ chứa nhiều pixel hơn ảnh
gốc, toolbox sử dụng sự nội suy để tính giá trị cho các pixel thêm vào. Hàm imresize
và imrotate sử dụng nội suy hai chiều để thực hiện thao tác của mình. Hàm improfile
cũng sử dụng sự nội suy hoá.
 Các phương pháp nội suy
- Toolbox sử lý ảnh cung cấp 3 cách nội suy hoá
+ Nội suy các pixel gần nhất ( nearest –neighbor interpolation )
+ Nội suy song tuyến tính ( Bilinear interpolation )
+ Nội suy song khối ( Bicubic interpolation )
Các phương pháp nội suy làm việc theo một cách giống nhau. Trong mỗi
trường hợp, để tính giá trị của một pixel đã được nội suy, chúng tìm điểm trong ảnh
ra mà pixel nằm tại đó. Sau đó, chúng gán một giá trị tới các pixel ra bằng cách tính
toán giá trị trung bình có trọng số của một số pixel lân cận. Trọng số dựa trên cơ sở
khoảng cách tới điểm đang xét.
- Các phương pháp này khác nhau ở tập các pixel mà chúng xem xét:
+ Với nội suy các pixel gần nhất: pixel ra được gán giá trị của các pixel ở gần
nó nhất. Các pixel khác không được xem xét.
+ Nội suy song tuyến tính, giá trị của pixel ra là giá trị trung bình theo trọng
số của 2x2 pixel lân cận.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 22
+ Nội suy song khối: giá trị của pixel ra là trung bình có trọng số của 4x4
pixel lân cận.
Số lượng các pixel được xem xét ảnh hưởng đến độ phức tạp tính toán. Vì vậy,
phương pháp song tuyến tính mất nhiều thời gian hơn phương pháp thứ nhất và
phương pháp song khối mất nhiều thời gian hơn song tuyến tính. Tuy nhiên, số lượng
pixel lớn hơn, độ chính xác sẽ tốt hơn.
 Kiểu ảnh
- Các hàm sử dụng tuyến tính yêu cầu một tham số chỉ ra phương pháp nội
suy. Với hầu hết các hàm, phương pháp mặc định được sử dụng là nearest-neighbor
interpolation. Phương pháp này tạo ra một kết quả có thể chấp nhận được cho hầu hết
các ảnh và là phương pháp duy nhất thích hợp với ảnh chỉ số. Với ảnh cường độ hay
RGB, tuy nhiên ta thường chỉ ra kiểu song tuyến tính hoặc song khối bởi vì những
phương pháp này cho kết quả tốt hơn
Với ảnh RGB, nội suy thường được thực hiện trên mặt phẳng R,B,G một cách
riêng biệt
Với ảnh nhị phân, nội suy gây ra những ảnh hưởng mà ta có thể nhận thấy
được. Nếu sử dụng nội suy song tuyến tính hoặc song khối, giá trị tính toán được cho
pixel trong ảnh ra sẽ không hoàn toàn là 0 hoặc 1. Ảnh hưởng trên ảnh kết quả phụ
thuộc vào lớp của ảnh vào:
+ Nếu lớp ảnh vào là double, ảnh ra là một ảnh đen trắng thuộc lớp double.
Ảnh ra không là ảnh nhị phân bởi vì nó bao gồm các giá trị khác 0 và 1.
+ Nếu ảnh vào là uint8, ảnh ra là một ảnh nhị phân thuộc lớp uint8. Giá trị của
các pixel được nội suy được làm tròn thành 0 hoặc 1. Vì vậy , ảnh ra thuộc lớp uint8.
Nếu sử dụng phương pháp nearest-neighbor interpolation, ảnh ra luôn là ảnh
nhị phân bởi vì những giá trị của pixel được nội suy được lấy trực tiếp từ ảnh vào.
c) Thay đổi kích thước ảnh
- Để thay đổi kích thước của một ảnh, sử dụng hàm imresize. Sử dụng hàm
này ta có thể:
+ Chỉ ra kích thước của ảnh kết quả.
+ Chỉ ra phương pháp nội suy được sử dụng.
+ Chỉ ra bộ lọc được sử dụng để ngăn ngừa hiện tượng răng cưa.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 23
 Chỉ ra kích thước cho ảnh kết quả
- Sử dụng hàm imresize, ta chó thể chỉ ra kích thước của ảnh kết quả theo hai
cách:
+ Bằng cách chỉ ra hệ số phóng đại được sử dụng trên ảnh.
+ Bằng cách chỉ ra chiều của ảnh kết quả.
 Sử dụng hệ số phóng đại ảnh
- Để mở rộng một ảnh, chỉ ra hệ số phóng đại lớn hơn 1. Để thu nhỏ một ảnh,
chỉ ra hệ số phóng đại nằm giữa 0 và 1. Chẳng hạn, lệnh sau tăng kích thước của ảnh
I lên 1.25 lần:
Hình 1.5 Ảnh trước và sau khi imresize
I = imread('circuit.tif');
J = imresize(I,1.25);
imshow(I)
figure, imshow(J)
 Chỉ định kích thước của ảnh ra
- Ta có thể chỉ ra kích thước của ảnh ra bằng cách truyền một véc tơ chứa số
lượng hàng và cột của ảnh sau cùng. Những lệnh sau đây tạo một ảnh ra Y với 100
hàng và 150 cột.
Y = imresize(X,[100 150])
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 24
Chú ý: Nếu kích thước được chỉ ra không có cùng tỉ lệ với ảnh vào, ảnh ra sẽ
bị biến dạng
 Chỉ định phương pháp nội suy được sử dụng.
- Theo mặc định, hàm imresize sử dụng phương pháp nội suy các pixel gần
nhất (nearest – neighbor interpolation) để tính giá trị các pixel của ảnh ra. Tuy nhiên,
ta có thể chỉ định các phương pháp nội suy khác. Bảng sau đây liệt kê các phương
pháp nội suy được trợ giúp theo thứ tự của độ phức tạp.
Giá trị tham số Phương pháp nội suy
‘nearest’ Nội suy các phixel gần nhất ( mặc định )
‘bilinear’ Nội suy song tuyến tính
‘biculic’ Nội suy song khối
Trong ví dụ sau, hàm imresize sử dụng phương pháp nội suy song tuyến tính:
Y=imresize(X, [100 150],’bilinear’);
 Sử dụng bộ lọc để ngăn chặn hiện tượng răng cưa
- Việc giảm kích thước (hình học) của một ảnh có thể gây ra những ảnh hưởng
nhất định lên ảnh chẳng hạn như hiện tượng xuất hiện răng cưa tại biên của ảnh .
Điều này là do thông tin luôn bị mất khi ta giảm kích thước một ảnh. Răng cưa xuất
hiện như những gợn sóng trong ảnh sau cùng.
- Khi giảm kích thước của ảnh sử dụng nội suy song tuyến tính hoặc song khối,
hàm imresize tự động áp đặt một bộ lọc thông thấp lên ảnh trước khi nội suy. Điều
này để giảm ảnh hưởng của răng cưa trong ảnh ra. Ta có thể chỉ ra kích thước của bộ
lọc này hoặc chỉ ra một bộ lọc khác thay thế.
Chú ý: Thậm chí đã sử dụng một bộ lọc thông thấp, chất lượng của ảnh vẫn bị
ảnh hưởng do thông tin luôn bị mất trong quá trình nội suy
- Hàm imresize không áp đặt một bộ lọc thông thấp lên ảnh nếu phương pháp
nội suy các pixel gần nhất được sử dụng. Phương pháp nội suy này ban đầu được sử
dụng với các ảnh chỉ số và bộ lọc thông thấp không thích hợp cho kiểu ảnh này.
- Ta cũng có thể chỉ ra một bộ lọc tự tạo thay cho các bộ lọc có sẵn.
Hàm imresize
Cú pháp của hàm này như sau:
B = imresize(A,m)
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 25
B = imresize(A,m,method)
B = imresize(A,[mrows ncols],method)
B = imresize(...,method,n)
B = imresize(...,method,h)
 Diễn giải
+ B=imresize(A,m): Trả lại một ảnh B lớn gấp m lần ảnh A (kích thước hình
học) sử dụng phương pháp nội suy mặc định (nearest - neighbor interpolcation). A có
thể là một ảnh chỉ số, ảnh đen trắng, RGB hoặc ảnh nhị phân. Nếu m nằm giữa 0 và
1, B sẽ nhỏ hơn A. Nếu m lớn hơn 1, B sẽ lớn hơn A.
+ B=imresize(A,m,method): Trả lại một ảnh lớn gấp m lần ảnh A sử dụng
phương pháp nội suy method. method là một chuỗi chỉ ra phương pháp nội suy nào
được sử dụng chẳng hạn: ‘nearest’,’bilinear’,’bicubic’.
+ B=imresize(A, [mrows ncols],method): Trả lại một ảnh với kích thước
được chỉ ra bởi vector [mrows ncols]. Nếu kích thước được chỉ ra không cùng tỉ lệ
với ảnh vào, ảnh sẽ bị biến dạng
Khi kích thước của ảnh ra nhỏ hơn kích thước của ảnh vào và phương pháp
nội suy được sử dụng là ‘bilinear’ hoặc ‘bicubic’, hàm imresize áp đặt một bộ lọc
thông thấp trước khi tuyến tính hoá để giảm hiện tượng răng cưa. Kích thước mặc
định là 11x11.
Ta có thể chỉ ra một thứ tự khác cho bộ lọc mặc định sử dụng cấu trúc:
B=imresize(…,method,n): n là một số nguyên chỉ ra kích thước của bộ lọc –
nxn. Nếu n=0, hàm imresize bỏ qua bước lọc. Ta cũng có thể chỉ ra bộ lọc riêng sử
dụng cú pháp:
B=imresize(…,method,h): Trong đó h là một bộ lọc FIR hai chiều ( có thể
được trả về bởi các hàm ftrans2, fwind1, fwind2 hoặc fsamp2 ).
d) Quay ảnh
- Để quay một ảnh, sử dụng hàm imrotate. Hàm này chấp nhận hai tham số
chính:
+ Ảnh cần quay
+ Góc quay
- Góc quay tính theo độ. Nếu ta chỉ ra một giá trị dương, hàm imrotate quay
ảnh theo chiều ngược chiều kim đồng hồ. Nếu chỉ ra giá trị âm, hàm quay ảnh theo
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 26
chiều kim đồng hồ. Ví dụ sau quay một ảnh 35 độ theo chiều ngược chiều kim đồng
hồ:
J=imrotate(I,35 ) ;
- Một số tham số tuỳ chọn ta có thể truyền vào cho hàm bao gồm:
+ Phương pháp nội suy được sử dụng
+ Kích thước của ảnh ra
 Chỉ định phương pháp nội suy được sử dụng
- Theo mặc định, hàm imrotate sử dụng phương pháp nội suy thứ nhất
(nearest-neighbor interpolation) để tính giá trị các pixel trong ảnh ra. Tuy nhiên, ta có
thể chỉ ra các phương pháp nội suy khác như: ‘bilinear ‘,’bicubic’
Ví dụ sau quay một ảnh 35 độ ngược chiều kim đồng hồ sử dụng nội suy song tuyến
tính:
I = imread('circuit.tif');
J = imrotate(I,35,'bilinear');
imshow(I)
figure, imshow(J)
Hình 1.7 Ảnh trước và sau khi imrotate
 Chỉ định kích thước của ảnh ra
Theo mặc định, hàm imrotate tạo một ảnh ra đủ lớn để có thể bao gồm toàn bộ
các pixel của ảnh gốc. Các pixel nằm ngoài biên của ảnh gốc được gán giá trị 0
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 27
như thể nền màu đen trong ảnh ra. Nếu ta chỉ ra chuỗi ‘crop’ như một tham số, hàm
imrotate sẽ xén ảnh ra tới kích thước như ảnh vào.
 Hàm imrotate
Cú pháp của nó như sau:
B = imrotate(A,angle)
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,bbox)
 Diễn giải
+ B=imrotate(A,angle): Quay ảnh A một góc angle độ theo chiều ngược chiều
kim đồng hồ, sử dụng phương pháp nội suy các pixel gần nhất. Để quay theo chiều
kim đồng hồ hãy truyền giá trị âm cho tham số angle
+ B=imrotate(A,angle,method): Quay ảnh A một góc angle độ theo chiều kim
đồng hồ sử dụng phương pháp nội suy được chỉ ra trong method.
+ B=imrotate(A,angle,method,bbox): Quay ảnh A một góc angle độ. Tham số
bbox chỉ ra hộp biên của ảnh trả về. bbox là một chuỗi có thể nhận các giá trị sau:
‘crop’: Ảnh ra B chỉ bao gồm phần trung tâm của ảnh được quay và có cùng
kích thước với ảnh A
‘loose’: ( Mặc định ): Ảnh ra B bao gồm toàn bộ ảnh được quay và lớn hơn ảnh
A. Hàm imrotate thiết lập giá trị 0 cho các pixel ngoài biên của ảnh gốc.
Ví dụ
- Ví dụ này đọc một ảnh quang phổ ánh sáng mặt trời được lưu trong định dạng
FITS và quay nó và căn nó theo chiều ngang.
I = fitsread('solarspectra.fts');
I = mat2gray(I);
J = imrotate(I,-1,'bilinear','crop');
imshow(I)
figure, imshow(J)
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 28
Hình 1.8 Ảnh được quay theo chiều ngang
e) Xén ảnh (image cropping)
- Để trích một vùng chữ nhật của một ảnh, sử dụng hàm imcrop. Hàm imcrop
chấp nhận hai tham số chính:
+ Ảnh cần xén
+ Các góc của hình chữ nhật xác định vùng xén
- Nếu ta gọi hàm imcrop mà không chỉ ra hình chữ nhật, ta có thể xén ảnh
theo các tương tác. Trong trường hợp này, ta sử dụng trỏ chuột để chọn vùng chữ nhật
cần xén bằng cách nhấn và giữ phím chuột trái và di chuyển để chọn vùng xén. Khi
chọn xong thì nhả chuột. Trong ví dụ sau, ta hiển thị một ảnh và gọi hàm imcrop.
Hàm imcrop hiển thị ảnh trong một hình và đợi ta vẽ vùng chữ nhật cần xén trên ảnh.
imshow circuit.tif
I=imcrop;
Imshow(I);
Hình 1.9 Ảnh trước và sau khi imcrop
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 29
 Hàm imcrop
- Cú pháp của nó như sau:
I2 = imcrop(I)
X2 = imcrop(X,map)
RGB2 = imcrop(RGB)
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)
[...] = imcrop(x,y,...)
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
 Diễn giải
- Hàm imcrop xén một ảnh theo một hình chữ nhật được chỉ định.
I2=imcrop(I) ;
X2=imcrop(X,map);
RGB2=imcrop(RGB);
Hàm imcrop sẽ hiển thị ảnh I và đợi ta chỉ ra hình chữ nhật cần xén bằng
chuột
- Nếu ta bỏ qua các tham số, hàm imcrop thao tác trên ảnh của trục hiện tại.
- Để chỉ định một hình chữ nhật ta dùng trỏ chuột như đã nói ở trên
- Ta cũng có thể chỉ ra kích thước của hình chữ nhật mà không thao tác trực
tiếp như các cú pháp sau:
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)
Trong đó: rect là một vector bốn phần tử dạng [xmin ymin width height],
những giá trị này được chỉ ra trong toạ độ không gian. Để chỉ định các toạ độ không
theo toạ độ không gian cho ảnh vào, đặt trước các tham số khác với 2 vector hai phần
tử chỉ ra Xdata và Ydata. Chẳng hạn:
[…]=imcrop(x,y,…)
- Nếu ta cung cấp các tham số ra phụ, hàm imcrop sẽ trả lại thông tin về vùng
chữ nhật được chọn và hệ toạ độ của ảnh vào. Chẳng hạn:
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 30
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
A là ảnh ra, x và y là Xdata và Ydata của ảnh vào
 Chú ý:
- Do rect là một tập hợp các toạ độ không gian, các phần tử width và height
trong rect không luôn luôn tương ứng chính xác với kích thước của ảnh ra. Chẳng
hạn, giả sử rect là [20 20 40 30], sử dụng hệ toạ độ không gian theo mặc định. Góc
trên trái của vùng chữ nhật được chọn là tâm của pixel (20,20) và góc dưới phải của
vùng chữ nhật là tâm của pixel (50,60). Ảnh ra là một ảnh có kích thước 31x41 chứ
không phải 30x40. Điều này là do ảnh ra bao gồm tất cả các pixel trong ảnh vào hoàn
toàn hoặc một phần được bao bọc bởi vùng chữ nhật trên.
Ví dụ
I = imread('circuit.tif');
I2 = imcrop(I,[75 68 130 112]);
imview(I), imview(I2)
Hình 1.10 Ảnh trước và sau khi imcrop theo 1 tọa độ cho trước
f) Các biến đổi ảnh thông dụng
- Để thực hiện các biến đổi không gian ảnh 2 chiều, sử dụng hàm
imtransform. Hàm này chấp nhận hai tham số chính:
+ Ảnh cần biến đổi
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 31
+ Một cấu trúc biến đổi được gọi là TFORM chỉ ra kiểu biến đổi ta muốn thực
hiện
 Chỉ ra kiểu biến đổi
- Ta chỉ ra kiểu biến đổi trong cấu trúc TFORM. Có hai cách để tạo một cấu
trúc TFORM:
+ Sử dụng hàm maketform
+ Sử dụng hàm cp2tform
 Sử dụng hàm maketform
- Khi sử dụng hàm này, ta chỉ ra kiểu biến đổi ta muốn thực hiện. Các kiểu biến
đổi mà maketform trợ giúp bao gồm:
+’ affine’: Biến đổi có thể bao gồm: translation ( dịch ), rotation ( quay ),
scaling, stretching và shearing. Các đường thẳng vẫn là đường thẳng, đường song
song vẫn song song nhưng hình chữ nhật có thể bị biến đổi
+’box’: Một trường hợp đặc biệt của affine khi mỗi chiều được dời và định tỉ lệ
độc lập
+ ‘composite ‘: Bao gồm tổ hợp của hai hay nhiều phép biến đổi
+ ‘custom ‘: Biến đổi do người dùng tự định nghĩa, nó cung cấp các hàm thuận
hoặc nghịch được gọi bởi hàm imtransform
+ ‘projective ‘: Biến đổi trong đó các đường thẳng vẫn giữ nguyên nhưng các
đường song song đồng quy lại thành một điểm.
 Sử dụng cp2tform
- Ta sử dụng hàm này để tạo ra cấu trúc TFORM khi ta muốn thi hành một
biến đổi cần khít với các điểm dữ liệu như một biến đổi đa thức.
Chú ý: Khi sử dụng với hàm imtransform, cấu trúc TFORM phải định nghĩa một
biến đổi 2 chiều. Nếu một ảnh chứa nhiều hơn một chiều chẳng hạn như ảnh RGB,
cùng một biến đổi 2 chiều sẽ được áp đặt tới tất cả các mặt phẳng 2 chiều theo chiều
cao hơn. Để định nghĩa một biến đổi n chiều sử dụng hàm imformarrray
 Thực hiện biến đổi
- Khi ta đã định nghĩa một cấu trúc TFORM, ta có thể thi hành một sự biến đổi
bằng cách gọi hàm imtransform. Chẳng hạn, đoạn mã sau sử dụng hàm này để thi
hành một biến đổi projective cho một ảnh bàn cờ:
I = checkerboard(20,1,1);
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 32
figure; imshow(I)
T = maketform('projective',[1 1; 41 1; 41 41; 1 41],...
[5 5; 40 5; 35 30; -10 30]);
R = makeresampler('cubic','circular');
K = imtransform(I,T,R,'Size',[100 100],'XYScale',1);
figure, imshow(K)
Hình 1.11 Ảnh trước và sau khi imtransforms
- Các tuỳ chọn của hàm imtransform cho phép ta điều khiển nhiều khía cạnh
của việc biến đổi. Chẳng hạn, chú ý rằng ảnh bị biến đổi xuất hiện nhiều bản copy của
ảnh gốc. Điều này nhận được bởi tuỳ chon ‘size’.Xem thêm Help Online
 Hàm imtransform
- Áp đặt một biến đổi không gian 2 chiều lên một ảnh
 Cú pháp
B = imtransform(A,TFORM)
B = imtransform(A,TFORM,INTERP)
[B,XDATA,YDATA] = imtransform(...)
[B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...)
 Diễn giải
+ B=imtransform(A,TFORM ): biến đổi ảnh A theo cấu trúc được định nghĩa
trong TFORM. Cấu trúc này được trả về từ hàm maketform hoặc cp2tform. Nếu
ndims(A)>2 như các ảnh RGB thì cùng một biến đổi không gian 2 chiều được áp đặt
tới tất cả các mặt phẳng theo chiều cao hơn.
Khi sử dụng cú pháp này, hàm imtransform tự động dịch gốc của ảnh ra để ảnh ra có
thể được hiển thị nhiều nhất có thể.
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 33
+ B=imtransform(A,TFORM, INTERP): chỉ ra dạng của phép nội suy được
sử dụng. INTERP có thể là một trong các giá trị ‘nearest’, ‘bicubic’ hoặc ‘bilinear’.
Tương tự, INTERP có thể là một cấu trúc được trả về từ hàm makeresampler.
Tuỳ chọn này cho phép điều khiển nhiều hơn lên việc lấy mẫu lại (resampling).
+ [B,XDATA,YDATA]= imtransform(…): trả về vị trí của ảnh ra B trong
không gian X-Y. XDATA và YDATA các vector hai thành phần. Những thành phần
của XDATA chỉ ra toạ độ x của cột đầu và cuối của B. Những thành phần của
YDATA chỉ ra toạ độ y của cột đầu và cuối của B. Bình thường, hàm imtransform
tính toán XDATA và YDATA tự động vì vậy B chứa toàn bộ ảnh đã biến đổi A. Tuy
nhiên, ta có thể đè chồng tính toán tự động này xem dưới đây:
+ [B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...): Chỉ
ra các tham số điều khiển nhiều khía cạnh khác nhau của biến đổi không gian. Bảng
sau liệt kê các tham số mà ta có thể chỉ ra.
Tham số Diễn giải
Cả hai tham số này là các vector hai phần tử thực. ‘Udata’ và
‘Vdata’ chỉ ra vị trí không gian của ảnh A trong không gian
vào 2 chiều U-V. Hai phần tử của ‘Udata’ cho toạ độ u (hoành
‘UData’ độ ) của cột đầu tiên và cuối cùng của A. Hai phần tử của
‘VData’ ‘Vdata’ cho toạ độ v ( tung độ ) của hàng đầu tiên và cuối cùng
của A.
Giá trị mặc định cho ‘Udata’ và ‘Vdata’ tương ứng là [1
size(A,2) ] và [1 size(A,1) ]
Cả hai tham số này là các vector hai phần tử thực chỉ ra vị trí
không gian của ảnh ra B trong không gian ra 2 chiều X-Y. Hai
phần tử của ‘Xdata’ chỉ ra hoành độ x của cột đầu tiên và cuối
‘Xdata’ cùng của B. Hai phần tử của ‘Ydata’ chỉ ra tung độ của hàng
‘Ydata’ đầu tiên và cuối cùng của B.
Nếu ‘Xdata’ và ‘Ydata’ không được chỉ ra, hàm imtransform
ước lượng giá trị cho chúng để có thể chứa toàn bộ ảnh ra đã bị
biến đổi
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 34
Là vector với một hoặc hai phần tử thực. Phần tử đầu tiên của
‘XYScale’ chỉ ra chiều rộng của mỗi pixel vào trong không
gian X-Y. Phần tử thứ hai (nếu tồn tại) chỉ ra chiều cao của
‘XYScale’ mỗi pixel ra. Nếu ‘XYScale’ chỉ có một phần tử, giá trị này sẽ
được dùng cho cả chiều rộng và chiều cao.
Nếu ‘XYScale’ không được chỉ định nhưng Size được chỉ ra
thì ‘XYScale’ được tính toán từ ‘Size’,’Xdata’ và ‘Ydata’.
Một vector hai phần tử nguyên không âm. ‘Size’ chỉ ra số hàng
và cột trong ảnh ra B. Với chiều cao hơn, kích cỡ của B được
‘Size’ lấy trực tiếp từ A. Nói cách khác, size(B,k) tương đương với
size(A,k) với k>2. Nếu ‘Size’ không được chỉ định, nó sẽ được
tính từ ‘Xdata’,’Ydata’ và ‘XYScale’
Một mảng chứa một hoặc nhiều giá trị tô (fill values). Fill
values được sử dụng cho các pixel trên ảnh ra khi vị trí được
biến đổi tương ứng trên ảnh vào hoàn toàn là viền ngoài của
ảnh ra. nếu A là 2 chiều, ‘Fillvalues’ phải vô hướng. Tuy
nhiên, nếu chiều của A lớn hơn 2, ‘FillValues’ có thể là một
mảng mà kích thước của nó thoả mãn ràng buộc sau:
size(fill_values,k) phải bằng size(A,k+2) hoặc 1.
Chẳng hạn, nếu A là một ảnh RGB unit8 có kích thước
‘FillValues’ 200x200x3 thì các khả năng của ‘FillValues’ bao gồm:
+ 0: Tô với màu đen
+ [0;0;0]: Tô với màu đen
+ 255: Tô với màu trắng
+ [255;255;255]: Tô với màu trắng
+ [0;0;255]: Tô với màu xanh
+ [255;255;0]: Tô với màu vàng
Nếu A là 4 chiều 200x200x3x10 thì ‘FillValues’ có thể là 1 vô
hướng 1x10,3x1,3x10
Ví dụ
Áp một phép dịch chuyển ngang tới một ảnh cường độ ;
I = imread('cameraman.tif');
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 1: Giới thiệu Matlab và khái quát về ảnh 35
tform = maketform('affine',[1 0 0;.5 1 0; 0 0 1]);
J = imtransform(I,tform); imshow(I), figure,
imshow(J)
Hình 1.12 Ảnh trước và sau khi imtransformsvới 1 cường độ ảnh
GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu
Bùi Ngọc Liêm
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
Chương 2: Các phương pháp xác định khuôn mặt 36
Chương 2
CÁC PHƯƠNG PHÁP
XÁC ĐỊNH KHUÔN
MẶT
2.1 Định nghĩa bài toán xác định khuôn mặt người
2.2 Ứng dụng của phương pháp xác định khuôn mặt
2.3 Phương pháp xác định khuôn mặt
2.4 Khó khăn và thử thách trong bài toán xác định khuôn mặt người
G
V
H
D
:
T
h
s
.
Đ
à
o
T
hị Thu Thủy
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149
TẢI FLIE TÀI LIỆU – LUANVANTOT.COM
SVTH: Ng
uyễ
n
Tru
ng
Hiế
u
Bùi
Ng
ọc
Liê
m
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc
DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc

More Related Content

Similar to DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc

Day hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internetDay hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internet
Vcoi Vit
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_net
Viet Nam
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_net
Duy Vọng
 
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdfThiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Man_Ebook
 
Ql ngân hàng và trắc nghiệm đề thi đại học
Ql ngân hàng và trắc nghiệm đề thi đại họcQl ngân hàng và trắc nghiệm đề thi đại học
Ql ngân hàng và trắc nghiệm đề thi đại học
Vcoi Vit
 

Similar to DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc (20)

Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAYĐề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
Đề tài: Xây dựng, triển khai và quản lý mô hình mạng, HAY
 
Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...
Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...
Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...
 
Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...
Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...
Luận Văn Ứng Dụng Mạng Nơron Và Giải Thuật Di Truyền Vào Đánh Giá Cảm Quan Th...
 
Day hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internetDay hoc truc tuyen tren mang internet
Day hoc truc tuyen tren mang internet
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_net
 
Dao tao tu_xa_net
Dao tao tu_xa_netDao tao tu_xa_net
Dao tao tu_xa_net
 
Báo cáo thực tập ngành công nghệ thông tin tại công ty Mtech
Báo cáo thực tập ngành công nghệ thông tin tại công ty MtechBáo cáo thực tập ngành công nghệ thông tin tại công ty Mtech
Báo cáo thực tập ngành công nghệ thông tin tại công ty Mtech
 
Nghiên Cứu Giải Pháp Xây Dựng Thư Viện Tài Liệu Điện Tử Cho Phòng Đọc.doc
Nghiên Cứu Giải Pháp Xây Dựng Thư Viện Tài Liệu Điện Tử Cho Phòng Đọc.docNghiên Cứu Giải Pháp Xây Dựng Thư Viện Tài Liệu Điện Tử Cho Phòng Đọc.doc
Nghiên Cứu Giải Pháp Xây Dựng Thư Viện Tài Liệu Điện Tử Cho Phòng Đọc.doc
 
Khóa luận tốt nghiệp - Tuyển dụng nhân lực tại công ty Miken Việt Nam.doc
Khóa luận tốt nghiệp - Tuyển dụng nhân lực tại công ty Miken Việt Nam.docKhóa luận tốt nghiệp - Tuyển dụng nhân lực tại công ty Miken Việt Nam.doc
Khóa luận tốt nghiệp - Tuyển dụng nhân lực tại công ty Miken Việt Nam.doc
 
đồ áN
đồ áNđồ áN
đồ áN
 
Đồ Án Tốt Nghiệp Chứng Chỉ Số Và Ứng Dụng Trong Lĩnh Vực Ngân Hàng.doc
Đồ Án Tốt Nghiệp Chứng Chỉ Số Và Ứng Dụng Trong Lĩnh Vực Ngân Hàng.docĐồ Án Tốt Nghiệp Chứng Chỉ Số Và Ứng Dụng Trong Lĩnh Vực Ngân Hàng.doc
Đồ Án Tốt Nghiệp Chứng Chỉ Số Và Ứng Dụng Trong Lĩnh Vực Ngân Hàng.doc
 
Bao cao athena
Bao cao athenaBao cao athena
Bao cao athena
 
Khóa luận khoa Kinh tế chính trị Trường Đại học Nông Lâm.doc
Khóa luận khoa Kinh tế chính trị Trường Đại học Nông Lâm.docKhóa luận khoa Kinh tế chính trị Trường Đại học Nông Lâm.doc
Khóa luận khoa Kinh tế chính trị Trường Đại học Nông Lâm.doc
 
Báo cáo cuối kì
Báo cáo cuối kìBáo cáo cuối kì
Báo cáo cuối kì
 
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdfThiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
Thiết kế và chế tạo bộ khuôn ép nhựa sản phẩm giá đỡ sạc điện thoại.pdf
 
Báo cáo thực tập Athena
Báo cáo thực tập AthenaBáo cáo thực tập Athena
Báo cáo thực tập Athena
 
Đề tài: Xây dựng hệ thống thi trắc nghiệm qua mạng LAN, 9đ
Đề tài: Xây dựng hệ thống thi trắc nghiệm qua mạng LAN, 9đĐề tài: Xây dựng hệ thống thi trắc nghiệm qua mạng LAN, 9đ
Đề tài: Xây dựng hệ thống thi trắc nghiệm qua mạng LAN, 9đ
 
Ql ngân hàng và trắc nghiệm đề thi đại học
Ql ngân hàng và trắc nghiệm đề thi đại họcQl ngân hàng và trắc nghiệm đề thi đại học
Ql ngân hàng và trắc nghiệm đề thi đại học
 
Tiểu luận phát triển kinh tế bền vững ở vùng kinh tế trọng điểm phía nam
Tiểu luận phát triển kinh tế bền vững ở vùng kinh tế trọng điểm phía namTiểu luận phát triển kinh tế bền vững ở vùng kinh tế trọng điểm phía nam
Tiểu luận phát triển kinh tế bền vững ở vùng kinh tế trọng điểm phía nam
 
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng JoomlaBáo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
Báo Cáo Thực Tập Thiết Kế Wedsite Bằng Joomla
 

More from DV Viết Luận văn luanvanmaster.com ZALO 0973287149

More from DV Viết Luận văn luanvanmaster.com ZALO 0973287149 (20)

Ảnh Hưởng Của Marketing Quan Hệ Đến Lòng Trung Thành Của Khách Hàng.Tình Huốn...
Ảnh Hưởng Của Marketing Quan Hệ Đến Lòng Trung Thành Của Khách Hàng.Tình Huốn...Ảnh Hưởng Của Marketing Quan Hệ Đến Lòng Trung Thành Của Khách Hàng.Tình Huốn...
Ảnh Hưởng Của Marketing Quan Hệ Đến Lòng Trung Thành Của Khách Hàng.Tình Huốn...
 
Phát triển nguồn nhân lực tại Uỷ ban nhân dân huyện Trà Bồng, tỉnh Quảng Ngãi...
Phát triển nguồn nhân lực tại Uỷ ban nhân dân huyện Trà Bồng, tỉnh Quảng Ngãi...Phát triển nguồn nhân lực tại Uỷ ban nhân dân huyện Trà Bồng, tỉnh Quảng Ngãi...
Phát triển nguồn nhân lực tại Uỷ ban nhân dân huyện Trà Bồng, tỉnh Quảng Ngãi...
 
Báo cáo tốt Nghiệp tài chính hợp nhất tại tổng công ty Indochina gol...
Báo cáo tốt Nghiệp  tài chính hợp nhất tại tổng công ty Indochina gol...Báo cáo tốt Nghiệp  tài chính hợp nhất tại tổng công ty Indochina gol...
Báo cáo tốt Nghiệp tài chính hợp nhất tại tổng công ty Indochina gol...
 
Tạo động lực thúc đẩy nhân viên làm việc tại ngân hàng TMCP Ngoại Thương Việt...
Tạo động lực thúc đẩy nhân viên làm việc tại ngân hàng TMCP Ngoại Thương Việt...Tạo động lực thúc đẩy nhân viên làm việc tại ngân hàng TMCP Ngoại Thương Việt...
Tạo động lực thúc đẩy nhân viên làm việc tại ngân hàng TMCP Ngoại Thương Việt...
 
Phát triển công nghiệp trên địa bàn Thành phố Tam Kỳ, Tỉnh Quảng Na...
Phát triển công nghiệp trên địa bàn Thành phố Tam Kỳ, Tỉnh Quảng Na...Phát triển công nghiệp trên địa bàn Thành phố Tam Kỳ, Tỉnh Quảng Na...
Phát triển công nghiệp trên địa bàn Thành phố Tam Kỳ, Tỉnh Quảng Na...
 
Giải pháp phát triển cho vay xuất nhập khẩu tại ngân hàng NN&PTNN ch...
Giải pháp phát triển cho vay xuất nhập khẩu tại ngân hàng NN&PTNN ch...Giải pháp phát triển cho vay xuất nhập khẩu tại ngân hàng NN&PTNN ch...
Giải pháp phát triển cho vay xuất nhập khẩu tại ngân hàng NN&PTNN ch...
 
Hoàn thiện công tác lập báo cáo tài chính hợp nhất tại tổng công ...
Hoàn thiện công tác lập báo cáo tài chính hợp nhất tại tổng công ...Hoàn thiện công tác lập báo cáo tài chính hợp nhất tại tổng công ...
Hoàn thiện công tác lập báo cáo tài chính hợp nhất tại tổng công ...
 
Luận Văn Thạc Sĩ Quản trị thành tích nhân viên tại Cục Hải quan TP Đà Nẵng.doc
Luận Văn Thạc Sĩ  Quản trị thành tích nhân viên tại Cục Hải quan TP Đà Nẵng.docLuận Văn Thạc Sĩ  Quản trị thành tích nhân viên tại Cục Hải quan TP Đà Nẵng.doc
Luận Văn Thạc Sĩ Quản trị thành tích nhân viên tại Cục Hải quan TP Đà Nẵng.doc
 
Hoàn thiện công tác quản lý thuế thu nhập cá nhân tại cục thuế Tỉ...
Hoàn thiện công tác quản lý thuế thu nhập cá nhân tại cục thuế Tỉ...Hoàn thiện công tác quản lý thuế thu nhập cá nhân tại cục thuế Tỉ...
Hoàn thiện công tác quản lý thuế thu nhập cá nhân tại cục thuế Tỉ...
 
Đề Tài Phát triển bền vững nông nghiệp Huyện Ba Tơ, Tỉnh Quảng Ngãi....
Đề Tài Phát triển bền vững nông nghiệp Huyện Ba Tơ, Tỉnh Quảng Ngãi....Đề Tài Phát triển bền vững nông nghiệp Huyện Ba Tơ, Tỉnh Quảng Ngãi....
Đề Tài Phát triển bền vững nông nghiệp Huyện Ba Tơ, Tỉnh Quảng Ngãi....
 
Hoàn thiện công tác bảo trợ xã hội trên địa bàn huyện Phong Điền, tỉnh Thừa T...
Hoàn thiện công tác bảo trợ xã hội trên địa bàn huyện Phong Điền, tỉnh Thừa T...Hoàn thiện công tác bảo trợ xã hội trên địa bàn huyện Phong Điền, tỉnh Thừa T...
Hoàn thiện công tác bảo trợ xã hội trên địa bàn huyện Phong Điền, tỉnh Thừa T...
 
Đề Tài Luận VănPhát triển sản phẩm du lịch tại thành phố Đà Nẵng.doc
Đề Tài Luận VănPhát triển sản phẩm du lịch tại thành phố Đà Nẵng.docĐề Tài Luận VănPhát triển sản phẩm du lịch tại thành phố Đà Nẵng.doc
Đề Tài Luận VănPhát triển sản phẩm du lịch tại thành phố Đà Nẵng.doc
 
Đào tạo nghề cho lao động thuộc diện thu hồi đất trên địa bàn Thàn...
Đào tạo nghề cho lao động thuộc diện thu hồi đất trên địa bàn Thàn...Đào tạo nghề cho lao động thuộc diện thu hồi đất trên địa bàn Thàn...
Đào tạo nghề cho lao động thuộc diện thu hồi đất trên địa bàn Thàn...
 
Tóm Tắt Luận Văn Thạc Sĩ Quản Trị Kinh Doanh Xây dựng chính sách Marketing tạ...
Tóm Tắt Luận Văn Thạc Sĩ Quản Trị Kinh Doanh Xây dựng chính sách Marketing tạ...Tóm Tắt Luận Văn Thạc Sĩ Quản Trị Kinh Doanh Xây dựng chính sách Marketing tạ...
Tóm Tắt Luận Văn Thạc Sĩ Quản Trị Kinh Doanh Xây dựng chính sách Marketing tạ...
 
Đề Tài Nghiên cứu rủi ro cảm nhận đối với mua hàng thời trang trực tuyến.docx
Đề Tài Nghiên cứu rủi ro cảm nhận đối với mua hàng thời trang trực tuyến.docxĐề Tài Nghiên cứu rủi ro cảm nhận đối với mua hàng thời trang trực tuyến.docx
Đề Tài Nghiên cứu rủi ro cảm nhận đối với mua hàng thời trang trực tuyến.docx
 
Giải pháp nâng cao động lực thúc đẩy người lao động tại công ty khai...
Giải pháp nâng cao động lực thúc đẩy người lao động tại công ty khai...Giải pháp nâng cao động lực thúc đẩy người lao động tại công ty khai...
Giải pháp nâng cao động lực thúc đẩy người lao động tại công ty khai...
 
Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...
Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...
Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...
 
Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...
Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...
Giải pháp phát triển dịch vụ ngân hàng điện tử tại ngân hàng đầu ...
 
Quản trị quan hệ khách hàng tại Chi nhánh Viettel Đà Nẵng – Tập đoàn Viễn thô...
Quản trị quan hệ khách hàng tại Chi nhánh Viettel Đà Nẵng – Tập đoàn Viễn thô...Quản trị quan hệ khách hàng tại Chi nhánh Viettel Đà Nẵng – Tập đoàn Viễn thô...
Quản trị quan hệ khách hàng tại Chi nhánh Viettel Đà Nẵng – Tập đoàn Viễn thô...
 
Đề Tài Đánh giá thành tích đội ngũ giảng viên trường Đại Học Phạm ...
Đề Tài Đánh giá thành tích đội ngũ giảng viên trường Đại Học Phạm ...Đề Tài Đánh giá thành tích đội ngũ giảng viên trường Đại Học Phạm ...
Đề Tài Đánh giá thành tích đội ngũ giảng viên trường Đại Học Phạm ...
 

Recently uploaded

Recently uploaded (20)

PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
 
Vận dụng thi pháp học vào phân tích truyện ngắn Chiếc thuyền ...
Vận dụng thi pháp học vào phân tích truyện ngắn Chiếc thuyền ...Vận dụng thi pháp học vào phân tích truyện ngắn Chiếc thuyền ...
Vận dụng thi pháp học vào phân tích truyện ngắn Chiếc thuyền ...
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
CÁC NHÂN TỐ ẢNH HƯỞNG ĐẾN HIỆU QUẢ HOẠT ĐỘNG CỦA NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN...
 
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 21-30)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 21-30)...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 21-30)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 21-30)...
 
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
Bài tập lớn môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bày về triế...
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
Báo cáo thực tập tốt nghiệp Kế toán tiền mặt tại Công ty trách nhiệm hữu hạn ...
 
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
 
35 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
35 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...35 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
35 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH NĂM ...
 
Trích dẫn theo Harvard với Microsoft Word
Trích dẫn theo Harvard với Microsoft WordTrích dẫn theo Harvard với Microsoft Word
Trích dẫn theo Harvard với Microsoft Word
 
Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...
Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...
Luận văn 2024 Tạo động lực lao động tại khối cơ quan Tập đoàn Viễn thông Quân...
 
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh AnPhân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
 
Luận Văn: HOÀNG TỬ BÉ TỪ GÓC NHÌN CẢI BIÊN HỌC
Luận Văn: HOÀNG TỬ BÉ TỪ GÓC NHÌN CẢI BIÊN HỌCLuận Văn: HOÀNG TỬ BÉ TỪ GÓC NHÌN CẢI BIÊN HỌC
Luận Văn: HOÀNG TỬ BÉ TỪ GÓC NHÌN CẢI BIÊN HỌC
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
 
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt NamNhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
Nhân vật người mang lốt cóc trong truyện cổ tích thần kỳ Việt Nam
 
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
22 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÁI BÌNH NĂM HỌC 2023-2...
 
Luận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy Phương
Luận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy PhươngLuận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy Phương
Luận văn 2024 Tạo động lực lao động tại Trung tâm nghiên cứu gia cầm Thụy Phương
 

DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA.doc

  • 1. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM KHOA CÔNG NGHỆ ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP Đề tài: DÒ TÌM VÀ CẮT ẢNH MẶT NGƯỜI DÙNG PCA GVHD: Ths. Đào Thị Thu Thủy SVTH : Nguyễn Trung Hiếu -06052461 Bùi Ngọc Liêm -06054491 Lớp : DHDT2B1 TP. Hồ Chí Minh, tháng 7 năm 2010
  • 2. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM LỜI MỞ ĐẦU Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang được yêu cầu khắt khe tại mọi quốc gia trên thế giới. Các hệ thống nhận dạng con người được ra đời với độ tin cậy ngày càng cao. Một trong các bài toán nhận dạng con người rất được quan tâm hiện nay là nhận dạng khuôn mặt. Vì nhận dạng khuôn mặt là cách mà con người sử dụng để phân biệt nhau. Bên cạnh đó, ngày nay việc thu thập, xử lý thông tin qua ảnh để nhận biết đối tượng đang được quan tâm và ứng dụng rộng rãi. Với phương pháp này, chúng ta có thể thu nhận được nhiều thông tin từ đối tượng mà không cần tác động nhiều đến đối tượng nghiên cứu. Sự phát triển của khoa học máy tính tạo môi trường thuận lợi cho bài toán nhận dạng khuôn mặt người từ ảnh số. Các hệ thống nhận dạng offline đã ra đời và có độ tin cậy cao, tuy nhiên các hệ thống nhận dạng online lại chưa đáp ứng được nhiều. Bài toán nhận dạng khuôn mặt người là một bài toán hấp dẫn, không giới hạn giải pháp sử dụng, vận dụng linh hoạt kiến thức trong nhiều lĩnh vực, đã thách thức nhiều người nghiên cứu vì tính ứng dụng to lớn trong thực tế. Đây là một chủ đề có thể nói còn tương đối mới với những ứng dụng mang tính công nghệ cao như: robot, các thiết bị camera,các hệ thống bảo mật, nhận dạng,…đã và đang được các hãng, công ty áp dụng vào nhằm nâng cao các tính năng sản phẩm của mình trong quá trình cạnh tranh trên thị trường hiện nay… Với mong muốn tiếp cận các công nghệ mới, đồng thời bổ sung kiến thức về khoa học kỹ thuật hiện đại, cũng như tổng kết lại những kỹ năng, kiến thức trong suốt quá trình học tập tại trường, chúng em xin chọn đề tài “ Dò tìm và cắt ảnh mặt người dùng PCA”. Đây có thể là một bài toán nhỏ, nhưng nó cũng giúp chúng em có một cái nhìn khái quát về bài toán, tạo cơ sở tiền đề cho sự tìm tòi và phát triển các hướng cao hơn trong sự nghiên cứu các công nghệ mới... Bài luận này được trình bày bao gồm có 5 chương: • Chương 1: Giới thiệu Matlab và khái quát về ảnh. • Chương 2: Các phương pháp xác định khuôn mặt. • Chương 3: Phân tích thành phần chính PCA.
  • 3. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM • Chương 4: Chương trình mô phỏng. • Chương 5: Kết luận. - Tìm hiểu phương pháp nhận diện ảnh. - Nghiên cứu PCA. - Dò tìm ảnh mặt người có không gian (1=>4). - Cắt ảnh mặt và lưu vào 1 file. - Xử lý ảnh động qua webcam. Trong bài luận này chúng em xin đề cập tới vấn đề dò tìm và nhận dạng mặt người qua một ảnh tĩnh cho trước, đồng thời mở rộng hơn là xử lý ảnh thu được qua một thiết bị thu ảnh, ví dụ như: camera, webcam,…
  • 4. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM LỜI CẢM ƠN Sau một thời gian học tập và nghiên cứu, cuối cùng chúng em cũng đã hoàn thành bài luận nghiên cứu của mình. Đây là thời điểm tốt nhất để chúng em có dịp được bày tỏ lòng biết ơn của mình đến những người thân đã giúp đỡ động viên trong suốt quá trình chúng em thực hiện bài luận này. Trước tiên, chúng em xin cảm ơn BGH trường Đại Học Công Nghiệp Thành Phố Hồ Chí Minh, Quý Thầy Cô trong khoa Công nghệ Điện Tử đã tạo điều kiện cho chúng em thực hiện bài luận này. Đặc biệt là Cô Đào Thị Thu Thủy, Cô không chỉ là người hướng dẫn khoa học một cách tài tình, mà còn là người dìu dắt chúng em, động viên và định hướng cho chúng em có những bước đi đầu đời về một cách nhìn khoa học về trí thức, cuộc sống, và sự cố gắng phấn đấu trong tương lai, điều này có ý nghĩa rất sâu sắc đối với chúng em, giúp chúng em tự tin và nổ lực hoàn thành bài luận này đúng thời hạn. Một lần nữa, chúng em xin bày tỏ lòng biết ơn sâu sắc đến với Cô. Đồng thời chúng con xin cám ơn cha mẹ, anh chị đã hết sức thông cảm, chia sẽ và động viên chúng con trong những khó khăn trong quá trình làm đồ án tốt nghiệp này. Xin cám ơn những người bạn thân yêu, những người đã yêu mến, chia sẽ, giúp đỡ chúng tôi trong lúc chúng tôi thực hiện bài luận này. Kết quả của bài luận này là món quà mà chúng em dành tặng cho tất cả mọi người thân yêu, với tất cả tấm lòng mình! Sinh viên thực hiện Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 5. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... Chữ ký của giáo viên
  • 6. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... ............................................................................................................................... Chữ ký của giáo viên
  • 7. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM MỤC LỤC Trang Chương 1: GIỚI THIỆU MATLAB VÀ KHÁI QUÁT VỀ ẢNH 1 1.1 Giới thiệu chung về phần mềm Matlab ......................................................................2 1.1.1 Khái niệm về Matlab..............................................................................................2 1.1.2 Tổng quan về cấu trúc dữ liệu Matlab, các ứng dụng..................................2 1.1.2.1 Dữ liệu.............................................................................................................3 1.1.2.2 Ứng dụng ........................................................................................................3 1.1.2.3 Toolbox là một công cụ quan trọng trong Matlab ..............................3 1.1.3 Hệ thống Matlab......................................................................................................3 1.1.4 Làm quen với Matlab.............................................................................................4 1.1.5 Các cửa sổ làm việc của Matlab.........................................................................5 1.2 Giới thiệu khái quát về ảnh số.......................................................................................7 1.2.1 Các khái niệm cơ bản về ảnh...............................................................................7 1.2.2 Các cách phân loại ảnh..........................................................................................8 1.3 Xử lý ảnh với Matlab.......................................................................................................9 1.3.1 Xử lý ảnh...................................................................................................................9 1.3.2 Các giai đoạn xử lý ảnh...................................................................................... 10 1.3.3 Xử lý ảnh với Matlab.......................................................................................... 11 1.3.3.1 Các kiểu ảnh trong Matlab...................................................................... 11 1.3.3.2 Các hàm xử lý ảnh cơ bản trong Matlab............................................. 13 1.3.3.3 Biến đổi không gian ảnh.......................................................................... 20 Chương 2: CÁC PHƯƠNG PHÁP XÁC ĐỊNH KHUÔN MẶT 36 2.1 Định nghĩa bài toán xác định khuôn mặt người.................................................... 37 2.2 Ứng dụng của phương pháp xác định khuôn mặt................................................. 37 2.3 Phương pháp xác định khuôn mặt............................................................................. 39 2.3.1 Hướng tiếp cận dựa trên tri thức...................................................................... 40 2.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi.................................... 41 2.3.2.1 Các đặc trưng khuôn mặt ........................................................................ 42
  • 8. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM 2.3.2.2 Kết cấu.......................................................................................................... 45 2.3.2.3 Sắc màu của da........................................................................................... 45 2.3.2.4 Đa đặc trưng................................................................................................ 45 2.3.3 Hướng tiếp cận dựa trên so khớp mẫu........................................................... 45 2.3.4 Hướng tiếp cận dựa trên diện mạo.................................................................. 46 2.4 Khó khăn và thử thách trong bài toán xác định khuôn mặt người................... 47 Chương 3: PHÂN TÍCH THÀNH PHẦN CHÍNH PCA (PRINCIPAL COMPONENT ANALYSIS) 48 3.1 Sơ lược về phân tích thành phần chính PCA ......................................................... 49 3.2 Thuật toán PCA và ứng dụng trong nhận dạng khuôn mặt người ................... 50 3.2.1 Thuật toán .............................................................................................................. 50 3.2.2 Phân tích thành phần chính PCA..................................................................... 50 3.2.3 Hình ảnh minh họa.............................................................................................. 53 3.3 Ứng dụng Eigenfaces trong việc nhận dạng mặt người...................................... 56 3.3.1 Tính toán Eigenfaces .......................................................................................... 59 3.3.2 Dùng Eigenfaces để phân loại ảnh mặt người............................................. 61 3.3.3 Ứng dụng Eigenfaces để phát hiện gương mặt ........................................... 62 3.3.3.1 Xem xét lại không gian mặt ................................................................... 63 3.3.3.2 Nhận dạng theo thời gian thực............................................................... 64 3.4 Nhận xét............................................................................................................................ 65 3.4.1 Ưu điểm của phương pháp PCA...................................................................... 65 3.4.2 Nhược điểm của PCA......................................................................................... 65 Chương 4: CHƯƠNG TRÌNH MÔ PHỎNG 67 4.1 Chương trình mô phỏng............................................................................................... 68 4.1.1 Cơ sở dữ liệu ảnh................................................................................................. 68 41.1.1 Tập ảnh huấn luyện ....................................................................................... 68 4.1.1.2 Tập ảnh mẫu................................................................................................ 69 4.1.2 Các bước thực hiện chương trình.................................................................... 70
  • 9. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM 4.1.3 Lưu đồ giải thuật................................................................................. 72 4.1.3.1 Lưu đồ giải thuật chính .............................................................. 72 4.1.3.2 Lưu đồ giải thuật chi tiết ............................................................ 72 4.1.4 Kết quả mô phỏng............................................................................... 77 4.1.5 Tốc độ thực hiện. ................................................................................ 80 4.2 Nhận xét kết quả đạt được........................................................................... 81 Chương 5: KẾT LUẬN................................................................................... 85 5.1 Kết luận ....................................................................................................... 85 5.2 Hướng phát triển đề tài................................................................................ 85 PHỤ LỤC............................................................................................................. TÀI LIỆU THAM KHẢO ..................................................................................
  • 10. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM MỤC LỤC HÌNH Trang Hình 1.1 Cửa sổ khi khởi động Matlab..............................................................................4 Hình 1.2 Cửa sổ Command History....................................................................................6 Hình 1.3 Cửa sổ Workspace .................................................................................................6 Hình 1.4 Cửa sổ Array Editor..............................................................................................7 Hình 1.5 Các bước cơ bản trong xử lý ảnh ......................................................................9 Hình 1.6 Ảnh trước và sau khi imresize.......................................................................... 23 Hình 1.7 Ảnh trước và sau khi imrotate ......................................................................... 26 Hình 1.8 Ảnh được quay theo chiều ngang ................................................................... 27 Hình 1.9 Ảnh trước và sau khi imcrop............................................................................ 28 Hình 1.10 Ảnh trước và sau khi imcrop theo 1 tọa độ cho trước............................ 30 Hình 1.11 Ảnh trước và sau khi imtransforms.............................................................. 32 Hình 1.12 Ảnh trước và sau khi imtransformsvới 1 cường độ ảnh......................... 35 Hình 2.1 Độ phân giải của 1 ảnh ..................................................................................... 41 Hình 2.2 Một loại trí thức của người nghiên cứu phân tích trên khuôn mặt......41 Hình 2.3 Một mẫu khuôn mặt, có 16 vùng và 23 quan hệ (các mũi tên)............... 46 Hình 3.1 Eigenfaces.............................................................................................................. 53 Hình 3.2 Bức ảnh kiểm tra và hình chiếu của nó......................................................... 54 Hình 3.3 Ảnh ban đầu..........................................................................................................55 Hình 3.4 Face map của bức ảnh ban đầu...................................................................... 55 Hình 3.5 Face map ảnh ban đầu với không gian không phải là khuôn mặt ........ 56 Hình 3.6 Những gương mặt dùng để huấn luyện......................................................... 57 Hình 3.7 Bảy Eigenfaces được tính toán từ dãy huấn luyện của hình 4.6, phông nền đã được loại bỏ................................................................................................. 58 Hình 3.8 Ảnh và hình chiếu của nó vào không gian mặt người xác định bởi các Eigenfaces từ hình 3.7..................................................................................................61 Hình 3.9 Ảnh gốc và bản đồ mặt người, vùng tối chỉ ra hình dạng khuôn mặt ................................................................................................................................ 63 Hình 3.10 Ví dụ đơn giản thể hiện 4 hình chiếu của ảnh lên không gian mặt người. Trong trường hợp này sử dụng 2 eigenfaces là µ1, µ2 và 3 lớp mặt người (cá thể) đã biết trước (Ω1, Ω2, Ω3)....................................................................................................... 63
  • 11. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Hình 3.11 Hệ thống dò tìm và định vị mặt người......................................................... 64 Hình 4.1 Tập ảnh Face........................................................................................................ 68 Hình 4.2 Tập ảnh nface.......................................................................................................69 Hình 4.3 Tập ảnh mẫu .........................................................................................................70 Hình 4.4 Lưu đồ giải thuật chính ..................................................................................... 72 Hình 4.5 Lưu đồ giải thuật chọn ảnh .............................................................................. 73 Hình 4.6 Lưu đồ giải thuật chương trình dò tìm ảnh mặt người............................. 74 Hình 4.7 Lưu đồ giải thuật chương trình nhận dạng..................................................75 Hình 4.8 Lưu đồ giải thuật PCA....................................................................................... 76 Hình 4.9 Giao diện chính.................................................................................................... 77 Hình 4.10 Giao diện chương trình 1 (ảnh tĩnh) ........................................................... 77 Hình 4.11 Giao diện chương trình 2 (ảnh động) ......................................................... 78 Hình 4.12 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 1 khuôn mặt ............ 78 Hình 4.13 Giao diện kết quả chương trình 2 (ảnh động)với 1 khuôn mặt............ 79 Hình 4.14 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 2 khuôn mặt ............ 79 Hình 4.15 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 4 khuôn mặt nữ .. 80 Hình 4.16 Giao diện kết quả chương trình 1 (ảnh tĩnh) với 4 khuôn mặt nam80 Hình 4.17 Ảnh lỗi do quá nhiều chi tiết không phân biệt được............................... 83 Hình 4.18 Lỗi do ảnh không được sắc nét ..................................................................... 84
  • 12. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 1 Chương 1 GIỚI THIỆU MATLAB VÀ KHÁI QUÁT VỀ ẢNH 1.1 Giới thiệu chung về phần mềm Matlab 1.2 Giới thiệu khái quát về ảnh số 1.3 Xử lý ảnh với Matlab
  • 13. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 14. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 2 Chương 1 GIỚI THIỆU MATLAB VÀ KHÁI QUÁT VỀ ẢNH 1.1 Giới thiệu chung về phần mềm Matlab 1.1.1 Khái niệm về Matlab Matlab là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải các bài toán về kỹ thuật. Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng. Dữ liệu cùng với thư viện được lập trình sẵn cho phép người sử dụng có thể có được những ứng dụng sau đây. • Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường. • Cho phép lập trình tạo ra những ứng dụng mới. • Cho phép mô phỏng các mô hình thực tế. • Phân tích, khảo sát và hiển thị dữ liệu. • Với phần mềm đồ hoạ cực mạnh. • Cho phép phát triển, giao tiếp với một số phần mềm khác như C++, Fortran. 1.1.2 Tổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng (mảng này không đòi hỏi về kích thước). Chúng cho phép giải quyết các vấn đề liên quan đến lập trình bằng máy tính, đặc biệt sử dụng các phép tính về ma trận hay vectơ và có thể sử dụng ngôn ngữ C học Fortran lập trình rồi thực hiện ứng dụng lập trình đó bằng các câu lệnh gọi từ Matlab. Matlab được viết tắt từ chữ “MATrix LABoratory” tức là thư viện về ma trận, từ đó phần mềm Matlab được viết nhằm cung cấp cho việc truy cập vào phần mềm ma trận một cách dễ dàng, phần mềm ma trận này được phát triển bởi các công trình Linpack và Eispack. Ngày nay Matlab được phát triển bởi Lapack và Artpack tạo nên một nghệ thuật phần mềm cho ma trận. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 15. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 3 1.1.2.1 Dữ liệu Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), và có các kiểu dữ liệu được liệt kê sau đây: • Kiểu đơn single, kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ hơn, kiểu dữ liệu này không được sử dụng trong các phép tính toán học, độ chính xác kém hơn. • Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong Matlab. • Kiểu Sparse. • Kiểu uint8, uint8, uint16, uint64... • Kiểu char ví dụ “Hello”. • Kiểu cell. • Kiểu Structure. Trong Matlab kiểu dữ liệu double là kiểu mặc định sử dụng trong các phép tính số học. 1.1.2.2 Ứng dụng Matlab tạo điều kiện thuận lợi cho: • Các khoá học về toán học. • Các kỹ sư, các nhà nghiên cứu khoa học. • Dùng Matlab để tính toán, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản xuất. 1.1.2.3 Toolbox là một công cụ quan trọng trong Matlab Công cụ này được Matlab cung cấp cho phép bạn ứng dụng các kỹ thuật để phân tích, thiết kế, mô phỏng các mô hình. Ta có thể tìm thấy toolbox ở trong mô trường làm việc của. • Mạng nơron. • Logic mờ. • Simulink. 1.1.3 Hệ thống Matlab Hệ thống giao diện của Matlab được chia thành 5 phần: • Môi trường phát triển. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 16. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 4 Đây là nơi đặt các thanh công cụ, các phương tiện giúp chúng ta sử dụng các lệnh và các file, ta có thể liệt kê một số như sau. + Desktop. + Command Window. + Command History. + Browsers for viewinghelp. • Thư viện, các hàm toán học bao gồm các cấu trúc như tính tổng, sin cosin atan, atan2 etc..., các phép tính đơn giản đến các phép tính phức tạp như tính ma trận nghich đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library. • Ngôn ngữ Matlab. Đó là các ngôn ngữ cao về ma trận và mảng, với các dòng lệnh, các hàm, cấu trúc dữ liệu vào, có thể lập trình hướng đối tượng. • Đồ hoạ trong Matlab. Bao gồm các câu lệnh thể hiện đồ họa trong môi trường 2D và 3D, tạo các hình ảnh chuyển động, cung cấp các giao diện tương tác giữa người sử dụng và máy tính. • Giao tiếp với các ngôn ngữ khác. Matlab cho phép tương tác với các ngôn ngữ khác như C, Fortran … 1.1.4 Làm quen với Matlab Trước tiên để khởi động Matlab bạn kích click vào biểu tượng file Matlab.exe, trên màn hình xuất hiện cửa sổ sau. (Xem hình vẽ 1.1) Cửa sổ đó chứa các thanh công cụ (Giao diện người và máy) cần thiết cho việc quản lý các files, các biến, cửa sổ lệnh, có thể coi desktop là các panel gồm các ô, vùng, quản lý và tác dụng của từng cửa sổ nhỏ được quản lý bởi desktop. Hình 1.1 Cửa sổ khi khởi động Matlab GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 17. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 5 Trên hình vẽ ta thấy cửa sổ desktop (cửa sổ lớn nhất), và các cửa sổ phụ của nó. 1.1.5 Các cửa sổ làm việc của Matlab a) Cửa sổ Command Window Là cửa sổ giao tiếp chính của Matlab bởi đây là nơi nhập giá trị các biến, hiển thị giá trị, tính toán giá trị của biểu thức, thực thi các hàm có sẵn trong thư viện (dạng lệnh), hoặc các hàm (dạng function) do người dùng lập trình ra trong M-file. Các lệnh được nhập sau dấu nhắc “>>”, và nếu có sai sót trong quá trình gõ (nhập) lệnh thì hãy nhấn phím Enter cho đến khi nhận được dấu nhắc “>>”. Thực thi lệnh bằng nhấn phím Enter. Gõ các lệnh sau: >> A= pi/2 ; >> B= sin(A) B= 1 Hoặc chương trình soạn thảo trong M-file dưới đây: % Chuong trinh trong M-file x= 0:pi/6:2*pi; y=sin(x); plot(x, y); % chuong trinh được lưu với tên file là “ve_sin.m” b) Cửa sổ command History Các dòng mà bạn nhập vào trong cửa sổ Command Window (các dòng này có thể là dòng nhập biến, hoặc có thể là dòng lệnh thực hiện hàm nào đó) được giữ lại trong cửa sổ Command History, và cửa sổ này cho phép ta sử dụng lại những lệnh đó bằng cách click chuột lên các lệnh đó hoặc các biến, nếu như bạn muốn sử dụng lại biến đó. Xem hình 1.2 GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 18. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 6 Click chuột lên lệnh hoặc biến để sử dụng lại Hình 1.2 Cửa sổ Command History c) Cửa sổ Workspace Là cửa sổ thể hiện tên các biến bạn sử dụng cùng với kích thước vùng nhớ (số bytes), kiểu dữ liệu(lớp), các biến được giải phóng sau mỗi lần tắt chương trình. (xem hình 1.3) Click chuột lên biến để xem dữ liệu (hoặc thay đổi giá trị) Hình 1.3 Cửa sổ Workspace Ngoài ra nó cho phép thay đổi giá trị, cũng như kích thước của biến bằng cách click chuột lên các biến. Hoặc click vào nút bên trái ngay cạnh nút save. Ví dụ khi chọn biến (giả sử là biến b) rồi click (hoặc click chuột vào nút cạnh nút save) ta được cửa sổ sau gọi là Array Editor (xem hình 1.4) GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 19. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 7 Hình 1.4 Cửa sổ Array Editor Tiêu đề là tên biến b, định dạng dữ liệu ở ô có tên là: Numeric format, mặc định là dạng short, kích thước size là 1 by 3 (tức là một hàng và 3 cột) ta có thể thay đổi kích thước này bằng cách thay đổi giá trị có trong ô kích thước size. Dùng cửa sổ này để lưu các biến ở dưới là dữ liệu của biến b, ta có thể thay đổi chúng bằng cách thay đổi giá trị trong các ô đó. Tất cả các biến đều được lưu trong Workspace trong đó thể hiện cả kích thước (Size), số Bytes và kiểu dữ liệu (class) (8 bytes cho mỗi phần tử dữ liệu kiểu double cụ thể là 24 bytes dành cho b và 8 bytes dành cho a). d) Cửa sổ M-file Là một cửa sổ dùng để soạn thảo chương trình ứng dụng, để thực thi chương trình viết trong M-file bằng cách gõ tên của file chứa chương trình đó trong cửa sổ Commandwindow. Khi một chương trình viết trong M-file, thì tuỳ theo ứng dụng cụ thể, tuỳ theo người lập trình mà chương trình có thể viết dưới dạng sau: • Dạng Script file: Tức là chương trình gồm tập hợp các câu lệnh viết dưới dạng liệt kê, không có biến dữ liệu vào và biến lấy giá trị ra. • Dạng hàm function: có biến dữ liệu vào và biến ra. e) Đường dẫn thư mục: Nơi lưu giữ các files chương trình. 1.2 Giới thiệu khái quát về ảnh số 1.2.1 Các khái niệm cơ bản về ảnh Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật. Số điểm ảnh xác định độ phân giải của ảnh. Ảnh có độ phân GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 20. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 8 giải càng cao thì càng thể hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm ảnh trở nên thực và sắc nét hơn. a) Điểm ảnh (Picture Element) Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh. b) Mức xám của ảnh Mức xám: Là kết quả của sự biến đổi tương ứng 1 giá trị độ sáng của 1 điểm ảnh với 1 giá trị nguyên dương. Thông thường nó xác định trong [0, 255] tuỳ thuộc vào giá trị mà mỗi điểm ảnh được biểu diễn. Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng. Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám. Mức xám dùng 1 byte biểu diễn: 28 =256 mức, tức là từ 0 đến 255). c) Độ phân giải của ảnh Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị. Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều. Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200). Rõ ràng, cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân giải 320*200. Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn. 1.2.2 Các cách phân loại ảnh Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận giá trị 1 hoặc 0 như vậy mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 bit. Ảnh xám: Giá trị xám nằm trong [0, 255] như vậy mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 byte. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 21. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 9 Ảnh màu: - Hệ màu RGB: Một pixel được biểu diễn bằng 3 giá trị (R, G, B) trong đó R, G, B là một giá trị xám và được biểu biểu diễn bằng 1 byte. Khi đó ta có một ảnh 24 bits. P(x, y) = (R, G, B) - Hệ màu CMY: là phần bù của hệ màu RGB (C, M, Y) = (1, 1, 1) - (R, G, B) Hay C+R=M+G=Y+B=1 => Hệ màu này thường được dùng trong máy in. - Hệ màu CMYK: trong đó K là độ đậm nhạt của màu K= min(C, M, Y) P(x, y) = (C-K, M-K, V-K, K). Ví dụ: Với (C1, M1, Y1) ta sẽ có K=min(C1, M1, Y1) vậy CMYK=(C1-K, M1-K, Y1-K, K) 1.3 Xử lý ảnh với Matlab 1.3.1 Xử lý ảnh Các bước cần thiết trong xử lý ảnh. Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh). Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR). Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo. Máy ảnh số hiện nay là một thí dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh. Hình dưới đây mô tả các bước cơ bản trong xử lý ảnh. Thu nhận ảnh Tiền xử lý ảnh Phân đoạn ảnh Cơ sở tri thức Biểu diễn Nhận và mô tả dạng và nội suy GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 22. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 10 Hình 1.5 Các bước cơ bản trong xử lý ảnh 1.3.2 Các giai đoạn xử lý ảnh a) Thu nhận ảnh (Image Acquisition) - Ảnh được thu từ nhiều nguồn khác nhau:máy ảnh, máy quay phim, máy quét, ảnh vệ tinh… - Mục đích: biến đổi thông tin hình ảnh về các cấu trúc được lưu trữ trong máy tính, có thể hiển thị ra các thiết bị ngoại vi như là máy in, màn hình… - Gồm hai tiến trình: + Biến đổi năng lượng quang học thành năng lượng điện. + Tổng hợp năng lượng điện thành ảnh hoặc ma trận số. b) Tiền xử lý (Image Processing) - Là quá trình sử dụng các kỹ thuật xử lý ảnh để làm ảnh tốt lên theo mục đích sử dụng. - Mục đích: + Điều chỉnh độ chiếu sáng để khắc phục hậu quả của việc chiếu sáng không đều. + Giảm nhỏ thành phần nhiễu của ảnh tức là các đối tượng xuất hiện ngoài ý muốn. + Hiệu chỉnh giá trị độ sáng giữa nền và đối tượng. + Chuẩn hoá độ lớn, màu, dạng của ảnh. +Điều chỉnh bộ lọc để khuyếch đại và nén các tần số. c) Phân đoạn (Segmentation) - Là quá trình phân chia nội dung các đối tượng cần khảo sát ra khỏi ảnh. - Phân chia các đối tượng tiếp giáp nhau. - Phân tách các đối tượng riêng biệt thành các đối tượng con. d) Biểu diễn ảnh (Image Representation) Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận. Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 23. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 11 các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được. Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác. e) Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội suy thành mã điện thoại. Có nhiều cách phân loai ảnh khác nhau về ảnh. Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản: - Nhận dạng theo tham số. - Nhận dạng theo cấu trúc. Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người… f) Cơ sở tri thức (Knowledge Base) Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người. Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người. Vì vậy, ở đây các cơ sở tri thức được phát huy. 1.3.3 Xử lý ảnh với Matlab 1.3.3.1 Các kiểu ảnh trong Matlab a) Ảnh được định chỉ số (Indexed Images) Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản đồ màu map. Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16 hoặc kiểu double. Ma trận bản đồ màu là một mảng mx3 kiểu double bao gồm các giá trị dấu phẩy động nằm GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 24. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 12 giữa 0 và 1. Mỗi hàng của bản đồ chỉ ra các giá trị mà: red, green và blue của một màu đơn. Một ảnh chỉ số sử dụng ánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị trong bản đồ màu. Màu sắc của mỗi pixel ảnh được tính toán bằng cách sử dụng giá trị tương ứng của X ánh xạ tới một giá trị chỉ số của map. Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2 chỉ ra hàng thứ hai trong bản đồ màu … Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được tự động nạp cùng với ảnh khi sử dụng hàm imread để đọc ảnh. Tuy nhiên, ta không bị giới hạn khi sử dụng bản đồ màu mặc định, ta có thể sử dụng bất kì bản đồ màu nào. b) Ảnh cường độ (Intensity Images) Một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của nó đại diện cho cường độ trong một số vùng nào đó của ảnh. Matlab chứa một ảnh cường độ như một ma trận đơn, với mỗi phần tử của ma trận tương ứng với một pixel của ảnh. Ma trận có thể thuộc lớp double, uint8 hay uint16. Trong khi ảnh cường độ hiếm khi được lưu với bản đồ màu, Matlab sử dụng bản đồ màu để hiển thị chúng. Những phần tử trong ma trận cường độ đại diện cho các cường độ khác nhau hoặc độ xám. Những điểm có cường độ bằng 0 thường được đại diện bằng màu đen và cường độ 1,255 hoặc 65535 thường đại diện cho cường độ cao nhất hay màu trắng. c) Ảnh nhị phân (Binary Images) Trong một ảnh nhị phân, mỗi pixel chỉ có thể chứa một trong hai giá trị nhị phân 0 hoặc 1. Hai giá trị này tương ứng với bật hoặc tắt (on hoặc off). Một ảnh nhị phân được lưu trữ như một mảng logic của 0 và 1. d) Ảnh RGB (RGB Images) Một ảnh RGB - thường được gọi là true-color, được lưu trữ trong Matlab dưới dạng một mảng dữ liệu có kích thước 3 chiều mxnx3 định nghĩa các giá trị màu red, green và blue cho mỗi pixel riêng biệt. Ảnh RGB không sử dụng palette. Màu của mỗi pixel được quyết định bởi sự kết hợp giữa các giá trị R, G, B (Red, Green, Blue) được lưu trữ trong một mặt phẳng màu tại vị trí của pixel. Định dạng file đồ hoạ lưu trữ ảnh RGB giống như một ảnh 24 bits trong đó R, G, B chiếm tương ứng 8 bit một. Điều này cho phép nhận được 16 triệu màu khác nhau. Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16. Trong một mảng RGB thuộc lớp double, mỗi thành phần màu có giá trị giữa 0 và 1. Một pixel mà GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 25. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 13 thành phần màu của nó là (0, 0, 0) được hiển thị với màu đen và một pixel mà thành phần màu là (1, 1, 1 ) được hiển thị với màu trắng. Ba thành phần màu của mỗi pixel được lưu trữ cùng với chiều thứ 3 của mảng dữ liệu. Chẳng hạn, giá trị màu R, G, B của pixel (10, 5) được lưu trữ trong RGB(10, 5, 1), RGB(10, 5, 2) và RGB(10, 5, 3) tương ứng. Để tính toán màu sắc của pixel tại hàng 2 và cột 3 chẳng hạn, ta nhìn vào bộ ba giá trị được lưu trữ trong (2, 3, 1:3). Giả sử (2, 3, 1) chứa giá trị 0.5176; (2, 3, 2) chứa giá trị 0.1608 và (2, 3, 3) chứa giá trị 0.0627 thì màu sắc của pixel tại (2, 3) sẽ là (0.5176, 0.1608, 0.0627). 1.3.3.2 Các hàm xử lý ảnh cơ bản trong Matlab a) Đọc và ghi dữ liệu ảnh ƒ Đọc một ảnh đồ hoạ - Hàm imread đọc một ảnh từ bất kì định dạng nào được trợ giúp trong bất kì chiều sâu bit nào được trợ giúp. Hầu hết các file ảnh sử dụng 8 bit để chứa giá trị của pixel. Khi chúng được đọc vào bộ nhớ, Matlab chứa chúng dưới dạng uint8. Với các file trợ giúp 16 bít dữ liệu, PNG và TIFF, Matlab chứa chúng dưới dạng uint16. Chú ý: Với ảnh chỉ số, imread luôn luôn đọc bản đồ màu vào trong một chuỗi thuộc lớp double, thậm chí mảng ảnh tự nó thuộc lớp uint8 hay uint16 - Chẳng hạn, đoạn mã sau sẽ đọc một ảnh RGB vào không gian làm việc của Matlab lưu trong biến RGB. RGB=imread(‘football.jpg’); Trong ví dụ này, imread sẽ nhận ra định dạng file để sử dụng từ tên file. Ta cũng có thể chỉ ra định dạng file như một tham số trong hàm imread. Matlab trợ giúp rất nhiều định dạng đồ hoạ thông dụng chẳng hạn: BMP, GIF, JPEG, PNG, TIFF … Để biết thêm các kiểu gọi hàm và tham số truyền vào, xem trợ giúp online của Matlab. 9 Đọc nhiều ảnh từ một file đồ hoạ - Matlab trợ giúp một số định dạng file đồ hoạ chẳng hạn như: HDF và TIFF, chúng chứa nhiều ảnh. Theo mặc định, imread chỉ trợ giúp ảnh đầu tiên trong file. Để nhập thêm các ảnh từ file, sử dụng cú pháp được trợ giúp bởi GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 26. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 14 định dạng file. Chẳng hạn, khi được sử dụng với TIFF, ta có thể sử dụng một giá trị chỉ số với imread để chỉ ra ảnh mà ta muốn nhập vào. Ví dụ sau đây đọc một chuỗi 27 ảnh từ một file TIFF và lưu những ảnh này trong một mảng 4 chiều. Ta có thể sử dụng hàm iminfo để xem bao nhiêu ảnh đã được lưu trữ trong file: mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array for frame=1:27 [mri(:,:,:,frame),map] = imread('mri.tif',frame); End - Khi file chứa nhiều ảnh theo một số kiểu nhất định chẳng hạn theo thứ tự thời gian, ta có thể lưu ảnh trong Matlab dưới dạng mảng 4 chiều. Tất cả các ảnh phải có cùng kích thước. ƒ Ghi một ảnh đồ hoạ - Hàm imwrite sẽ ghi một ảnh tới một file đồ hoạ dưới một trong các định dạng được trợ giúp. Cấu trúc cơ bản nhất của imwrite sẽ yêu cầu một biến ảnh và tên file. Nếu ta gộp một phần mở rộng trong tên file, Matlab sẽ nhận ra định dạng mong muốn từ nó. Ví dụ sau tải một ảnh chỉ số X từ một file Map với bản đồ màu kết hợp với nó map sau đó ghi ảnh xuống một file bitmap. load clown whos Name Size Bytes Class X 200x320 512000 double array caption 2x1 4 char array map 81x3 1944 double array Grand total is 64245 elements using 513948 bytes imwrite(X,map,'clown.bmp') 9 Chỉ ra định dạng phụ - Tham số đặc biệt - Khi sử dụng imwrite với một số định dạng đồ hoạ, ta có thể chỉ ra các tham số phụ. Chẳng hạn, với định dạng PNG ta có thể chỉ ra độ sâu bit như một tham số phụ. Ví dụ sau sẽ chi một ảnh cường độ I với một file ảnh 4 bit PNG. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 27. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 15 imwrite(I,'clown.png','BitDepth',4 ); - Để biết thêm các cấu trúc khác của hàm xem phần trợ giúp trực tuyến của Matlab.  Đọc và ghi ảnh nhị phân theo định dạng 1 bit - Trong một số định dạng file, một ảnh nhị phân có thể được lưu trong một định dạng 1 bit. Nếu định dạng file trợ giúp nó, Matlab ghi ảnh nhị phân như ảnh 1 bit theo mặc định. Khi ta đọc một ảnh nhị phân với định dạng 1 bit, Matlab đại diện nó trong không gian làm việc như một mảng lôgic. - Ví dụ sau đọc một ảnh nhị phân và ghi nó dưới dạng file TIFF. Bởi vì định dạng TIFF trợ giúp ảnh 1 bit, file được ghi lên đĩa theo định dạng 1 bit: BW = imread('text.png'); imwrite(BW,'test.tif'); Để kiểm tra chiều sâu bit của file test.tif, gọi hàm iminfo và kiểm tra trường BitDepth của nó: info = imfinfo('test.tif'); info.BitDepth ans =1 Chú ý: Khi ghi file nhị phân, Matlab thiết lập trường ColorType thành ‘grayscale’.  Xem lớp lưu trữ của file . - Hàm imwrite sử dụng luật sau đây để quyết định lớp lưu trữ được sử dụng trong ảnh kết quả: + logical: Nếu định dạng ảnh ra (Output Image) được chỉ rõ là trợ giúp ảnh 1 bit, hàm imwrite tạo một file ảnh 1 bit. Nếu định dạng ảnh ra được chỉ rõ là không trợ giúp ảnh 1 bit (như JPEG), hàm imwrite chuyển ảnh tới một ảnh thuộc lớp uint8. + uint8: Nếu định dạng ảnh ra được chỉ rõ là trợ giúp ảnh 8 bit, hàm imwrite tạo một ảnh 8 bit + uint16: Nếu định dạng ảnh ra được chỉ rõ trợ giúp ảnh 16 bit (PNG hoặc TIFF), hàm imwrite tạo một ảnh 16 bit. Nếu định dạng ảnh ra không trợ giúp ảnh 16 bit, hàm chuyển đổi dữ liệu ảnh tới lớp uint8 và tạo một ảnh 8 bit. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 28. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 16 + double: Matlab chuyển dữ liệu ảnh tới dạng uint8 và tạo một ảnh 8 bit bởi vì hầu hết các file ảnh sử dụng định dạng 8 bit. ƒ Truy vấn một file đồ hoạ - Hàm imfinfo cho phép ta có thể nhận được thông tin về một file ảnh được trợ giúp bởi toolbox. Cú pháp: imfinfo(filename,fmt) Các thông tin được cung cấp bởi hàm imfinfo là: filename, filemodedate, filesize, format, formatversion, width, height, bitdepth, colortype … Thông tin mà ta nhận được phụ thuộc vào kiểu của file nhưng nó luôn bao gồm những thông tin sau: + Tên của file ảnh. + Định dạng file ảnh. + Số version của định dạng file. + Ngày sửa đổi file gần nhất. + Kích thước file tính theo byte. + Chiều rộng ảnh tính theo pixel. + Chiều cao ảnh tính theo pixel. + Số lượng bít trên một pixel. + Kiểu ảnh: RGB, chỉ số … b) Hiển thị ảnh ƒ Dùng hàm imview - Để hiển thị một ảnh sử dụng hàm imview, dùng hàm imview, chỉ rõ ảnh mà ta muốn hiển thị. Ta có thể sử dụng imview để hiển thị một ảnh mà đã được nhập vào trong không gian làm việc của Matlab. moonfig = imread('moon.tif'); imview(moonfig); Ta cũng có thể chỉ định tên của file ảnh như trong ví dụ sau: imview('moon.tif'); - File ảnh phải có mặt trong thư mục hiện tại hoặc trong đường dẫn của Matlab. Cấu trúc này có thể hữu ích cho việc quét qua nhiều ảnh. Tuy nhiên, lưu ý, khi sử dụng cấu trúc này, dữ liệu ảnh không được lưu trong không gian làm việc của Matlab. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 29. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 17 - Nếu ta gọi hàm imview mà không chỉ ra mất kì tham số nào, nó sẽ hiển thị một hộp chọn file cho phép ta chỉ ra tên file muốn hiển thị. 9 Xem nhiều ảnh - Nếu ta chỉ ra một file mà chứa nhiều ảnh, hàm imview chỉ hiển thị ảnh đầu tiên trong file đó. Để xem tất cả các ảnh trong file, sử dụng hàm imread để nhập mỗi ảnh vào trong không gian làm việc của Matlab sau đó gọi hàm imview nhiều lần để hiển thị mỗi ảnh riêng biệt. ƒ Dùng hàm imshow - Để xem ảnh, ta có thể sử dụng hàm imshow thay cho imview. Ta sử dụng imshow để hiển thị một ảnh đã được nhập vào trong không gian làm việc như ví dụ sau: moon = imread('moon.tif'); imshow(moon); Ta cũng có thể chỉ ra tên của file ảnh như một tham số truyền vào cho hàm như ví dụ sau: imshow('moon.tif'); Khi sử dụng cấu trúc này thì dữ liệu ảnh không được nhập vào trong không gian làm việc. Tuy nhiên, ta có thể mang ảnh vào trong không gian làm việc bằng cách sử dụng hàm getimage. Hàm này sẽ nhận dữ liệu ảnh từ handle của một đối tượng ảnh hiện tại. Chẳng hạn: moon = getimage; Sẽ gán dữ liệu ảnh từ moon.tif vào biến moon. c) Các hàm chuyển đổi kiểu ảnh - Với các thao tác nhất định sẽ thật hữu ích khi có thể chuyển đổi ảnh từ dạng này sang dạng khác. Chẳng hạn, nếu ta muốn lọc một màu ảnh được lưu trữ dưới dạng ảnh chỉ số đầu tiên ta nên chuyển đổi nó thành dạng ảnh RGB. Khi ta áp dụng phép lọc tới ảnh RGB, Matlab sẽ lọc giá trị cường độ trong ảnh tương ứng. Nếu ta cố gắng lọc ảnh chỉ số, Matlab đơn giản chỉ áp đặt phép lọc tới ma trận ảnh chỉ số và kết quả sẽ không có ý nghĩa. Chú ý: Khi chuyển đổi một ảnh từ dạng này sang dạng khác, ảnh kết quả có thể khác ảnh ban đầu. Chẳng hạn, nếu ta chuyển đổi một ảnh màu chỉ số sang một ảnh cường độ, kết quả ta sẽ thu được một ảnh đen trắng. - Danh sách sau đây sẽ liệt kê các hàm được sử dụng trong việc chuyển đổi kiểu ảnh: GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 30. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 18 + dither: Tạo một ảnh nhị phân từ một ảnh cường độ đen trắng bằng cách trộn, tạo một ảnh chỉ số từ một ảnh RGB bằng cách trộng (dither). + gray2id: Tạo một ảnh chỉ số từ một ảnh cường độ đen trắng. + grayslice: Tạo một ảnh chỉ số từ một ảnh cường độ đen trắng bằng cách đặt ngưỡng. + im2bw: Tạ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. + ind2gray: Tạo một ảnh cường độ đen trắng từ một ảnh chỉ số. + ind2rgb: Tạo một ảnh RGB từ một ảnh chỉ số. + mat2gray: Tạo một ảnh cường độ đen trắng từ dữ liệu trong một ma trận bằng cách lấy tỉ lệ giữ liệu. + rgb2gray: Tạo một ảnh cường độ đen trắng từ một ảnh RGB. + rgb2ind: Tạo một ảnh chỉ số từ một ảnh RGB. - Ta cũng có thể thực hiện các phép chuyển đổi kiểu chỉ sử dụng cú pháp của Matlab. Chẳng hạn, ta có thể chuyển đổi một ảnh cường độ sang ảnh RGB bằng cách ghép nối 3 phần copy của ma trận ảnh gốc giữa 3 chiều: RGB=cat(3,I,I,I ); - Ảnh RGB thu được có các ma trận đồng nhất cho các mặt phẳng R, G, B vì vậy ảnh hiển thị giống như bóng xám. - Thêm vào những công cụ chuyển đổi chuẩn đã nói ở trên, cũng có một số hàm mà trả lại kiểu ảnh khác như một phần trong thao tác mà chúng thực hiện.  Chuyển đổi không gian màu - Toolbox xử lý ảnh biểu diễn màu sắc như các giá trị RGB ( trực tiếp trong ảnh RGB hoặc gián tiếp trong ảnh chỉ số ). Tuy nhiên, có các phương pháp khác cho việc biểu diễn màu sắc. Chẳng hạn, một màu có thể được đại diện bởi các giá trị hue, saturation và các giá trị thành phần (HSV). Các phương pháp khác cho việc biểu diễn màu được gọi là không gian màu. - Toolbox cung cấp một tập các thủ tục để chuyển đổi giữa các không gian màu. Các hàm xử lý ảnh tự chúng coi dữ liệu màu sắc dưới dạng RGB tuy nhiên, ta có thể xử lý một ảnh mà sử dụng các không gian màu khác nhau GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 31. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 19 bằng cách chuyển đổi nó sang RGB sau đó chuyển đổi ảnh đã được xử lý trở lại không gian màu ban đầu. d) Chuyển đổi định dạng các file ảnh - Để thay đổi định dạng đồ hoạ của một ảnh, sử dụng hàm imread để đọc một ảnh và sau đó lưu nó với hàm imwrite đồng thời chỉ ra định dạng tương ứng. - Để minh hoạ, ví dụ sau đây sử dụng hàm imread để đọc một file BMP vào không gian làm việc.Sau đó, hàm imwrite lưu ảnh này dưới định dạng PNG bitmap = imread('mybitmap.bmp','bmp'); imwrite(bitmap,'mybitmap.png','png'); e) Số học ảnh - Số học ảnh sự ứng dụng của các phép toán số học chuẩn như: cộng, trừ, nhân, chia lên ảnh. Số học ảnh được sử dụng nhiều trong xử lý ảnh trong cả các bước ban đầu lẫn các thao tác phức tạp hơn. Chẳng hạn, trừ ảnh có thể được sử dụng để phát hiện sự khác nhau giữa hai hoặc nhiều ảnh của cùng một cảnh hoặc một vật. - Ta có thể thực hiện số học ảnh sử dụng các toán tử số học của Matlab. Toolbox xử lý ảnh bao gồm một tập hợp các hàm ứng dụng các phép toán số học trên tất cả các con số không lấp đầy. Hàm số học của toolbox chấp nhận bất kì kiểu dữ liệu số nào bao gồm uint8, uint16 hay double và trả lại ảnh kết quả trong cùng định dạng. Các hàm thực hiện các phép toán với độ chính xác kép trên từng phần tử nhưng không chuyển đổi ảnh tới giá trị chính xác kép trong không gian làm việc của Matlab. Sự tràn số được điều khiển tự động. Hàm sẽ cắt bỏ giá trị trả về để vừa với kiểu dữ liệu. ƒ Luật cắt bỏ trong số học ảnh - Kết quả của số học nguyên có thể dễ dàng tràn số dùng cho lưu trữ. Chẳng hạn, giá trị cực đại ta có thể lưu trữ trong uint8 là 255. Các phép toán số học có thể trả về giá trị phân số - không được biểu diễn bởi một chuỗi số nguyên. - Các hàm số học ảnh sử dụng những luật này cho số học nguyên: + Giá trị vượt quá khoảng của kiểu số nguyên bị cắt bỏ tới khoảng đó + Giá trị phân số được làm tròn GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 32. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 20 Chẳng hạn, nếu dữ liệu có kiểu uint8, kết quả trả về nếu lớn hơn 255 ( bao gồm Inf ) thì được gán là 255. ƒ Lời gọi lồng nhau tới hàm số học ảnh - Ta có thể sử dụng các hàm số học ảnh kết hợp để thực hiện một chuỗi các phép toán. Chẳng hạn để tính giá trị trung bình của hai ảnh: C=(A+B) /2 Ta có thể nhập vào như sau: I = imread('rice.png'); I2 = imread('cameraman.tif'); K = imdivide(imadd(I,I2), 2); % not recommended - Khi được sử dụng với kiểu uint8 hay uint16, mỗi hàm số học cắt kết quả của nó trước khi truyền nó cho hàm thiếp theo. Sự cắt bỏ này có thể giảm đáng kể lượng thông tin trong ảnh cuối cùng. Một cách làm tốt hơn để thực hiện một chuỗi các tính toán là sử dụng hàm imlincomb. Hàm này thi hành tất cả các phép toán số học trong sự kết hợp tuyến tính của độ chính xác kép và chỉ cắt bỏ kết quả cuối cùng: K = imlincomb(.5,I,.5,I2); % recommended 1.3.3.3 Biến đổi không gian ảnh Biến đổi không gian ảnh là thực hiện ánh xạ giữa vị trí các pixel trong ảnh vào với các pixel trong ảnh ra. a) Bảng thuật ngữ Tên thuật ngữ Diễn giải Răng cưa - xuất hiện khi giảm kích thước ảnh. Khi kích thước của một ảnh bị giảm, các pixel gốc bị lấy mẫu giảm để tạo ra ít Aliasing pixel hơn. Aliasing xảy ra như kết quả của việc giảm kích thước ảnh thường xuất hiện dưới dạng bậc thang ( đặc biệt trong các ảnh có độ tương phản cao ) Antialiasing Các biện pháp chống răng cưa cho ảnh Bicubic interpolation Giá trị của các pixel ra được tính toán từ GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 33. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 21 giá trị trung bình của 4x4 pixel lân cận Bilinear interpolation Gía trị của pixel ra được tính toán từ giá trị trung bình của 2x2 pixel lân cận Một thao tác sửa đổi quan hệ hình học gữa Geometric operation các pixel trong một ảnh. Chẳng hạn thay đổi kích thước ảnh, quay ảnh và xén ảnh Interpolation Quá trình được sử dụng để ước lượng giá trị ảnh ở một vị trí giữa các pixel Nearest-neighbor Các giá trị pixel ra được gán giá trị của interpolation pixel nằm trong một vùng gần pixel đó. b) Nội suy Nội suy là quá trình sử dụng để ước lượng một giá trị ảnh ở một vị trí giữa các pixel. Chẳng hạn, nếu ta thay đổi kích thước một ảnh, nó sẽ chứa nhiều pixel hơn ảnh gốc, toolbox sử dụng sự nội suy để tính giá trị cho các pixel thêm vào. Hàm imresize và imrotate sử dụng nội suy hai chiều để thực hiện thao tác của mình. Hàm improfile cũng sử dụng sự nội suy hoá.  Các phương pháp nội suy - Toolbox sử lý ảnh cung cấp 3 cách nội suy hoá + Nội suy các pixel gần nhất ( nearest –neighbor interpolation ) + Nội suy song tuyến tính ( Bilinear interpolation ) + Nội suy song khối ( Bicubic interpolation ) Các phương pháp nội suy làm việc theo một cách giống nhau. Trong mỗi trường hợp, để tính giá trị của một pixel đã được nội suy, chúng tìm điểm trong ảnh ra mà pixel nằm tại đó. Sau đó, chúng gán một giá trị tới các pixel ra bằng cách tính toán giá trị trung bình có trọng số của một số pixel lân cận. Trọng số dựa trên cơ sở khoảng cách tới điểm đang xét. - Các phương pháp này khác nhau ở tập các pixel mà chúng xem xét: + Với nội suy các pixel gần nhất: pixel ra được gán giá trị của các pixel ở gần nó nhất. Các pixel khác không được xem xét. + Nội suy song tuyến tính, giá trị của pixel ra là giá trị trung bình theo trọng số của 2x2 pixel lân cận. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 34. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 22 + Nội suy song khối: giá trị của pixel ra là trung bình có trọng số của 4x4 pixel lân cận. Số lượng các pixel được xem xét ảnh hưởng đến độ phức tạp tính toán. Vì vậy, phương pháp song tuyến tính mất nhiều thời gian hơn phương pháp thứ nhất và phương pháp song khối mất nhiều thời gian hơn song tuyến tính. Tuy nhiên, số lượng pixel lớn hơn, độ chính xác sẽ tốt hơn.  Kiểu ảnh - Các hàm sử dụng tuyến tính yêu cầu một tham số chỉ ra phương pháp nội suy. Với hầu hết các hàm, phương pháp mặc định được sử dụng là nearest-neighbor interpolation. Phương pháp này tạo ra một kết quả có thể chấp nhận được cho hầu hết các ảnh và là phương pháp duy nhất thích hợp với ảnh chỉ số. Với ảnh cường độ hay RGB, tuy nhiên ta thường chỉ ra kiểu song tuyến tính hoặc song khối bởi vì những phương pháp này cho kết quả tốt hơn Với ảnh RGB, nội suy thường được thực hiện trên mặt phẳng R,B,G một cách riêng biệt Với ảnh nhị phân, nội suy gây ra những ảnh hưởng mà ta có thể nhận thấy được. Nếu sử dụng nội suy song tuyến tính hoặc song khối, giá trị tính toán được cho pixel trong ảnh ra sẽ không hoàn toàn là 0 hoặc 1. Ảnh hưởng trên ảnh kết quả phụ thuộc vào lớp của ảnh vào: + Nếu lớp ảnh vào là double, ảnh ra là một ảnh đen trắng thuộc lớp double. Ảnh ra không là ảnh nhị phân bởi vì nó bao gồm các giá trị khác 0 và 1. + Nếu ảnh vào là uint8, ảnh ra là một ảnh nhị phân thuộc lớp uint8. Giá trị của các pixel được nội suy được làm tròn thành 0 hoặc 1. Vì vậy , ảnh ra thuộc lớp uint8. Nếu sử dụng phương pháp nearest-neighbor interpolation, ảnh ra luôn là ảnh nhị phân bởi vì những giá trị của pixel được nội suy được lấy trực tiếp từ ảnh vào. c) Thay đổi kích thước ảnh - Để thay đổi kích thước của một ảnh, sử dụng hàm imresize. Sử dụng hàm này ta có thể: + Chỉ ra kích thước của ảnh kết quả. + Chỉ ra phương pháp nội suy được sử dụng. + Chỉ ra bộ lọc được sử dụng để ngăn ngừa hiện tượng răng cưa. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 35. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 23  Chỉ ra kích thước cho ảnh kết quả - Sử dụng hàm imresize, ta chó thể chỉ ra kích thước của ảnh kết quả theo hai cách: + Bằng cách chỉ ra hệ số phóng đại được sử dụng trên ảnh. + Bằng cách chỉ ra chiều của ảnh kết quả.  Sử dụng hệ số phóng đại ảnh - Để mở rộng một ảnh, chỉ ra hệ số phóng đại lớn hơn 1. Để thu nhỏ một ảnh, chỉ ra hệ số phóng đại nằm giữa 0 và 1. Chẳng hạn, lệnh sau tăng kích thước của ảnh I lên 1.25 lần: Hình 1.5 Ảnh trước và sau khi imresize I = imread('circuit.tif'); J = imresize(I,1.25); imshow(I) figure, imshow(J)  Chỉ định kích thước của ảnh ra - Ta có thể chỉ ra kích thước của ảnh ra bằng cách truyền một véc tơ chứa số lượng hàng và cột của ảnh sau cùng. Những lệnh sau đây tạo một ảnh ra Y với 100 hàng và 150 cột. Y = imresize(X,[100 150]) GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 36. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 24 Chú ý: Nếu kích thước được chỉ ra không có cùng tỉ lệ với ảnh vào, ảnh ra sẽ bị biến dạng  Chỉ định phương pháp nội suy được sử dụng. - Theo mặc định, hàm imresize sử dụng phương pháp nội suy các pixel gần nhất (nearest – neighbor interpolation) để tính giá trị các pixel của ảnh ra. Tuy nhiên, ta có thể chỉ định các phương pháp nội suy khác. Bảng sau đây liệt kê các phương pháp nội suy được trợ giúp theo thứ tự của độ phức tạp. Giá trị tham số Phương pháp nội suy ‘nearest’ Nội suy các phixel gần nhất ( mặc định ) ‘bilinear’ Nội suy song tuyến tính ‘biculic’ Nội suy song khối Trong ví dụ sau, hàm imresize sử dụng phương pháp nội suy song tuyến tính: Y=imresize(X, [100 150],’bilinear’);  Sử dụng bộ lọc để ngăn chặn hiện tượng răng cưa - Việc giảm kích thước (hình học) của một ảnh có thể gây ra những ảnh hưởng nhất định lên ảnh chẳng hạn như hiện tượng xuất hiện răng cưa tại biên của ảnh . Điều này là do thông tin luôn bị mất khi ta giảm kích thước một ảnh. Răng cưa xuất hiện như những gợn sóng trong ảnh sau cùng. - Khi giảm kích thước của ảnh sử dụng nội suy song tuyến tính hoặc song khối, hàm imresize tự động áp đặt một bộ lọc thông thấp lên ảnh trước khi nội suy. Điều này để giảm ảnh hưởng của răng cưa trong ảnh ra. Ta có thể chỉ ra kích thước của bộ lọc này hoặc chỉ ra một bộ lọc khác thay thế. Chú ý: Thậm chí đã sử dụng một bộ lọc thông thấp, chất lượng của ảnh vẫn bị ảnh hưởng do thông tin luôn bị mất trong quá trình nội suy - Hàm imresize không áp đặt một bộ lọc thông thấp lên ảnh nếu phương pháp nội suy các pixel gần nhất được sử dụng. Phương pháp nội suy này ban đầu được sử dụng với các ảnh chỉ số và bộ lọc thông thấp không thích hợp cho kiểu ảnh này. - Ta cũng có thể chỉ ra một bộ lọc tự tạo thay cho các bộ lọc có sẵn. Hàm imresize Cú pháp của hàm này như sau: B = imresize(A,m) GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 37. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 25 B = imresize(A,m,method) B = imresize(A,[mrows ncols],method) B = imresize(...,method,n) B = imresize(...,method,h)  Diễn giải + B=imresize(A,m): Trả lại một ảnh B lớn gấp m lần ảnh A (kích thước hình học) sử dụng phương pháp nội suy mặc định (nearest - neighbor interpolcation). A có thể là một ảnh chỉ số, ảnh đen trắng, RGB hoặc ảnh nhị phân. Nếu m nằm giữa 0 và 1, B sẽ nhỏ hơn A. Nếu m lớn hơn 1, B sẽ lớn hơn A. + B=imresize(A,m,method): Trả lại một ảnh lớn gấp m lần ảnh A sử dụng phương pháp nội suy method. method là một chuỗi chỉ ra phương pháp nội suy nào được sử dụng chẳng hạn: ‘nearest’,’bilinear’,’bicubic’. + B=imresize(A, [mrows ncols],method): Trả lại một ảnh với kích thước được chỉ ra bởi vector [mrows ncols]. Nếu kích thước được chỉ ra không cùng tỉ lệ với ảnh vào, ảnh sẽ bị biến dạng Khi kích thước của ảnh ra nhỏ hơn kích thước của ảnh vào và phương pháp nội suy được sử dụng là ‘bilinear’ hoặc ‘bicubic’, hàm imresize áp đặt một bộ lọc thông thấp trước khi tuyến tính hoá để giảm hiện tượng răng cưa. Kích thước mặc định là 11x11. Ta có thể chỉ ra một thứ tự khác cho bộ lọc mặc định sử dụng cấu trúc: B=imresize(…,method,n): n là một số nguyên chỉ ra kích thước của bộ lọc – nxn. Nếu n=0, hàm imresize bỏ qua bước lọc. Ta cũng có thể chỉ ra bộ lọc riêng sử dụng cú pháp: B=imresize(…,method,h): Trong đó h là một bộ lọc FIR hai chiều ( có thể được trả về bởi các hàm ftrans2, fwind1, fwind2 hoặc fsamp2 ). d) Quay ảnh - Để quay một ảnh, sử dụng hàm imrotate. Hàm này chấp nhận hai tham số chính: + Ảnh cần quay + Góc quay - Góc quay tính theo độ. Nếu ta chỉ ra một giá trị dương, hàm imrotate quay ảnh theo chiều ngược chiều kim đồng hồ. Nếu chỉ ra giá trị âm, hàm quay ảnh theo GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 38. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 26 chiều kim đồng hồ. Ví dụ sau quay một ảnh 35 độ theo chiều ngược chiều kim đồng hồ: J=imrotate(I,35 ) ; - Một số tham số tuỳ chọn ta có thể truyền vào cho hàm bao gồm: + Phương pháp nội suy được sử dụng + Kích thước của ảnh ra  Chỉ định phương pháp nội suy được sử dụng - Theo mặc định, hàm imrotate sử dụng phương pháp nội suy thứ nhất (nearest-neighbor interpolation) để tính giá trị các pixel trong ảnh ra. Tuy nhiên, ta có thể chỉ ra các phương pháp nội suy khác như: ‘bilinear ‘,’bicubic’ Ví dụ sau quay một ảnh 35 độ ngược chiều kim đồng hồ sử dụng nội suy song tuyến tính: I = imread('circuit.tif'); J = imrotate(I,35,'bilinear'); imshow(I) figure, imshow(J) Hình 1.7 Ảnh trước và sau khi imrotate  Chỉ định kích thước của ảnh ra Theo mặc định, hàm imrotate tạo một ảnh ra đủ lớn để có thể bao gồm toàn bộ các pixel của ảnh gốc. Các pixel nằm ngoài biên của ảnh gốc được gán giá trị 0 GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 39. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 27 như thể nền màu đen trong ảnh ra. Nếu ta chỉ ra chuỗi ‘crop’ như một tham số, hàm imrotate sẽ xén ảnh ra tới kích thước như ảnh vào.  Hàm imrotate Cú pháp của nó như sau: B = imrotate(A,angle) B = imrotate(A,angle,method) B = imrotate(A,angle,method,bbox)  Diễn giải + B=imrotate(A,angle): Quay ảnh A một góc angle độ theo chiều ngược chiều kim đồng hồ, sử dụng phương pháp nội suy các pixel gần nhất. Để quay theo chiều kim đồng hồ hãy truyền giá trị âm cho tham số angle + B=imrotate(A,angle,method): Quay ảnh A một góc angle độ theo chiều kim đồng hồ sử dụng phương pháp nội suy được chỉ ra trong method. + B=imrotate(A,angle,method,bbox): Quay ảnh A một góc angle độ. Tham số bbox chỉ ra hộp biên của ảnh trả về. bbox là một chuỗi có thể nhận các giá trị sau: ‘crop’: Ảnh ra B chỉ bao gồm phần trung tâm của ảnh được quay và có cùng kích thước với ảnh A ‘loose’: ( Mặc định ): Ảnh ra B bao gồm toàn bộ ảnh được quay và lớn hơn ảnh A. Hàm imrotate thiết lập giá trị 0 cho các pixel ngoài biên của ảnh gốc. Ví dụ - Ví dụ này đọc một ảnh quang phổ ánh sáng mặt trời được lưu trong định dạng FITS và quay nó và căn nó theo chiều ngang. I = fitsread('solarspectra.fts'); I = mat2gray(I); J = imrotate(I,-1,'bilinear','crop'); imshow(I) figure, imshow(J) GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 40. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 28 Hình 1.8 Ảnh được quay theo chiều ngang e) Xén ảnh (image cropping) - Để trích một vùng chữ nhật của một ảnh, sử dụng hàm imcrop. Hàm imcrop chấp nhận hai tham số chính: + Ảnh cần xén + Các góc của hình chữ nhật xác định vùng xén - Nếu ta gọi hàm imcrop mà không chỉ ra hình chữ nhật, ta có thể xén ảnh theo các tương tác. Trong trường hợp này, ta sử dụng trỏ chuột để chọn vùng chữ nhật cần xén bằng cách nhấn và giữ phím chuột trái và di chuyển để chọn vùng xén. Khi chọn xong thì nhả chuột. Trong ví dụ sau, ta hiển thị một ảnh và gọi hàm imcrop. Hàm imcrop hiển thị ảnh trong một hình và đợi ta vẽ vùng chữ nhật cần xén trên ảnh. imshow circuit.tif I=imcrop; Imshow(I); Hình 1.9 Ảnh trước và sau khi imcrop GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 41. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 29  Hàm imcrop - Cú pháp của nó như sau: I2 = imcrop(I) X2 = imcrop(X,map) RGB2 = imcrop(RGB) I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect) [...] = imcrop(x,y,...) [A,rect] = imcrop(...) [x,y,A,rect] = imcrop(...)  Diễn giải - Hàm imcrop xén một ảnh theo một hình chữ nhật được chỉ định. I2=imcrop(I) ; X2=imcrop(X,map); RGB2=imcrop(RGB); Hàm imcrop sẽ hiển thị ảnh I và đợi ta chỉ ra hình chữ nhật cần xén bằng chuột - Nếu ta bỏ qua các tham số, hàm imcrop thao tác trên ảnh của trục hiện tại. - Để chỉ định một hình chữ nhật ta dùng trỏ chuột như đã nói ở trên - Ta cũng có thể chỉ ra kích thước của hình chữ nhật mà không thao tác trực tiếp như các cú pháp sau: I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect) Trong đó: rect là một vector bốn phần tử dạng [xmin ymin width height], những giá trị này được chỉ ra trong toạ độ không gian. Để chỉ định các toạ độ không theo toạ độ không gian cho ảnh vào, đặt trước các tham số khác với 2 vector hai phần tử chỉ ra Xdata và Ydata. Chẳng hạn: […]=imcrop(x,y,…) - Nếu ta cung cấp các tham số ra phụ, hàm imcrop sẽ trả lại thông tin về vùng chữ nhật được chọn và hệ toạ độ của ảnh vào. Chẳng hạn: GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 42. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 30 [A,rect] = imcrop(...) [x,y,A,rect] = imcrop(...) A là ảnh ra, x và y là Xdata và Ydata của ảnh vào  Chú ý: - Do rect là một tập hợp các toạ độ không gian, các phần tử width và height trong rect không luôn luôn tương ứng chính xác với kích thước của ảnh ra. Chẳng hạn, giả sử rect là [20 20 40 30], sử dụng hệ toạ độ không gian theo mặc định. Góc trên trái của vùng chữ nhật được chọn là tâm của pixel (20,20) và góc dưới phải của vùng chữ nhật là tâm của pixel (50,60). Ảnh ra là một ảnh có kích thước 31x41 chứ không phải 30x40. Điều này là do ảnh ra bao gồm tất cả các pixel trong ảnh vào hoàn toàn hoặc một phần được bao bọc bởi vùng chữ nhật trên. Ví dụ I = imread('circuit.tif'); I2 = imcrop(I,[75 68 130 112]); imview(I), imview(I2) Hình 1.10 Ảnh trước và sau khi imcrop theo 1 tọa độ cho trước f) Các biến đổi ảnh thông dụng - Để thực hiện các biến đổi không gian ảnh 2 chiều, sử dụng hàm imtransform. Hàm này chấp nhận hai tham số chính: + Ảnh cần biến đổi GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 43. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 31 + Một cấu trúc biến đổi được gọi là TFORM chỉ ra kiểu biến đổi ta muốn thực hiện  Chỉ ra kiểu biến đổi - Ta chỉ ra kiểu biến đổi trong cấu trúc TFORM. Có hai cách để tạo một cấu trúc TFORM: + Sử dụng hàm maketform + Sử dụng hàm cp2tform  Sử dụng hàm maketform - Khi sử dụng hàm này, ta chỉ ra kiểu biến đổi ta muốn thực hiện. Các kiểu biến đổi mà maketform trợ giúp bao gồm: +’ affine’: Biến đổi có thể bao gồm: translation ( dịch ), rotation ( quay ), scaling, stretching và shearing. Các đường thẳng vẫn là đường thẳng, đường song song vẫn song song nhưng hình chữ nhật có thể bị biến đổi +’box’: Một trường hợp đặc biệt của affine khi mỗi chiều được dời và định tỉ lệ độc lập + ‘composite ‘: Bao gồm tổ hợp của hai hay nhiều phép biến đổi + ‘custom ‘: Biến đổi do người dùng tự định nghĩa, nó cung cấp các hàm thuận hoặc nghịch được gọi bởi hàm imtransform + ‘projective ‘: Biến đổi trong đó các đường thẳng vẫn giữ nguyên nhưng các đường song song đồng quy lại thành một điểm.  Sử dụng cp2tform - Ta sử dụng hàm này để tạo ra cấu trúc TFORM khi ta muốn thi hành một biến đổi cần khít với các điểm dữ liệu như một biến đổi đa thức. Chú ý: Khi sử dụng với hàm imtransform, cấu trúc TFORM phải định nghĩa một biến đổi 2 chiều. Nếu một ảnh chứa nhiều hơn một chiều chẳng hạn như ảnh RGB, cùng một biến đổi 2 chiều sẽ được áp đặt tới tất cả các mặt phẳng 2 chiều theo chiều cao hơn. Để định nghĩa một biến đổi n chiều sử dụng hàm imformarrray  Thực hiện biến đổi - Khi ta đã định nghĩa một cấu trúc TFORM, ta có thể thi hành một sự biến đổi bằng cách gọi hàm imtransform. Chẳng hạn, đoạn mã sau sử dụng hàm này để thi hành một biến đổi projective cho một ảnh bàn cờ: I = checkerboard(20,1,1); GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 44. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 32 figure; imshow(I) T = maketform('projective',[1 1; 41 1; 41 41; 1 41],... [5 5; 40 5; 35 30; -10 30]); R = makeresampler('cubic','circular'); K = imtransform(I,T,R,'Size',[100 100],'XYScale',1); figure, imshow(K) Hình 1.11 Ảnh trước và sau khi imtransforms - Các tuỳ chọn của hàm imtransform cho phép ta điều khiển nhiều khía cạnh của việc biến đổi. Chẳng hạn, chú ý rằng ảnh bị biến đổi xuất hiện nhiều bản copy của ảnh gốc. Điều này nhận được bởi tuỳ chon ‘size’.Xem thêm Help Online  Hàm imtransform - Áp đặt một biến đổi không gian 2 chiều lên một ảnh  Cú pháp B = imtransform(A,TFORM) B = imtransform(A,TFORM,INTERP) [B,XDATA,YDATA] = imtransform(...) [B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...)  Diễn giải + B=imtransform(A,TFORM ): biến đổi ảnh A theo cấu trúc được định nghĩa trong TFORM. Cấu trúc này được trả về từ hàm maketform hoặc cp2tform. Nếu ndims(A)>2 như các ảnh RGB thì cùng một biến đổi không gian 2 chiều được áp đặt tới tất cả các mặt phẳng theo chiều cao hơn. Khi sử dụng cú pháp này, hàm imtransform tự động dịch gốc của ảnh ra để ảnh ra có thể được hiển thị nhiều nhất có thể. GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 45. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 33 + B=imtransform(A,TFORM, INTERP): chỉ ra dạng của phép nội suy được sử dụng. INTERP có thể là một trong các giá trị ‘nearest’, ‘bicubic’ hoặc ‘bilinear’. Tương tự, INTERP có thể là một cấu trúc được trả về từ hàm makeresampler. Tuỳ chọn này cho phép điều khiển nhiều hơn lên việc lấy mẫu lại (resampling). + [B,XDATA,YDATA]= imtransform(…): trả về vị trí của ảnh ra B trong không gian X-Y. XDATA và YDATA các vector hai thành phần. Những thành phần của XDATA chỉ ra toạ độ x của cột đầu và cuối của B. Những thành phần của YDATA chỉ ra toạ độ y của cột đầu và cuối của B. Bình thường, hàm imtransform tính toán XDATA và YDATA tự động vì vậy B chứa toàn bộ ảnh đã biến đổi A. Tuy nhiên, ta có thể đè chồng tính toán tự động này xem dưới đây: + [B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...): Chỉ ra các tham số điều khiển nhiều khía cạnh khác nhau của biến đổi không gian. Bảng sau liệt kê các tham số mà ta có thể chỉ ra. Tham số Diễn giải Cả hai tham số này là các vector hai phần tử thực. ‘Udata’ và ‘Vdata’ chỉ ra vị trí không gian của ảnh A trong không gian vào 2 chiều U-V. Hai phần tử của ‘Udata’ cho toạ độ u (hoành ‘UData’ độ ) của cột đầu tiên và cuối cùng của A. Hai phần tử của ‘VData’ ‘Vdata’ cho toạ độ v ( tung độ ) của hàng đầu tiên và cuối cùng của A. Giá trị mặc định cho ‘Udata’ và ‘Vdata’ tương ứng là [1 size(A,2) ] và [1 size(A,1) ] Cả hai tham số này là các vector hai phần tử thực chỉ ra vị trí không gian của ảnh ra B trong không gian ra 2 chiều X-Y. Hai phần tử của ‘Xdata’ chỉ ra hoành độ x của cột đầu tiên và cuối ‘Xdata’ cùng của B. Hai phần tử của ‘Ydata’ chỉ ra tung độ của hàng ‘Ydata’ đầu tiên và cuối cùng của B. Nếu ‘Xdata’ và ‘Ydata’ không được chỉ ra, hàm imtransform ước lượng giá trị cho chúng để có thể chứa toàn bộ ảnh ra đã bị biến đổi GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 46. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 34 Là vector với một hoặc hai phần tử thực. Phần tử đầu tiên của ‘XYScale’ chỉ ra chiều rộng của mỗi pixel vào trong không gian X-Y. Phần tử thứ hai (nếu tồn tại) chỉ ra chiều cao của ‘XYScale’ mỗi pixel ra. Nếu ‘XYScale’ chỉ có một phần tử, giá trị này sẽ được dùng cho cả chiều rộng và chiều cao. Nếu ‘XYScale’ không được chỉ định nhưng Size được chỉ ra thì ‘XYScale’ được tính toán từ ‘Size’,’Xdata’ và ‘Ydata’. Một vector hai phần tử nguyên không âm. ‘Size’ chỉ ra số hàng và cột trong ảnh ra B. Với chiều cao hơn, kích cỡ của B được ‘Size’ lấy trực tiếp từ A. Nói cách khác, size(B,k) tương đương với size(A,k) với k>2. Nếu ‘Size’ không được chỉ định, nó sẽ được tính từ ‘Xdata’,’Ydata’ và ‘XYScale’ Một mảng chứa một hoặc nhiều giá trị tô (fill values). Fill values được sử dụng cho các pixel trên ảnh ra khi vị trí được biến đổi tương ứng trên ảnh vào hoàn toàn là viền ngoài của ảnh ra. nếu A là 2 chiều, ‘Fillvalues’ phải vô hướng. Tuy nhiên, nếu chiều của A lớn hơn 2, ‘FillValues’ có thể là một mảng mà kích thước của nó thoả mãn ràng buộc sau: size(fill_values,k) phải bằng size(A,k+2) hoặc 1. Chẳng hạn, nếu A là một ảnh RGB unit8 có kích thước ‘FillValues’ 200x200x3 thì các khả năng của ‘FillValues’ bao gồm: + 0: Tô với màu đen + [0;0;0]: Tô với màu đen + 255: Tô với màu trắng + [255;255;255]: Tô với màu trắng + [0;0;255]: Tô với màu xanh + [255;255;0]: Tô với màu vàng Nếu A là 4 chiều 200x200x3x10 thì ‘FillValues’ có thể là 1 vô hướng 1x10,3x1,3x10 Ví dụ Áp một phép dịch chuyển ngang tới một ảnh cường độ ; I = imread('cameraman.tif'); GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 47. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 1: Giới thiệu Matlab và khái quát về ảnh 35 tform = maketform('affine',[1 0 0;.5 1 0; 0 0 1]); J = imtransform(I,tform); imshow(I), figure, imshow(J) Hình 1.12 Ảnh trước và sau khi imtransformsvới 1 cường độ ảnh GVHD: Ths. Đào Thị Thu Thủy SVTH: Nguyễn Trung Hiếu Bùi Ngọc Liêm
  • 48. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM Chương 2: Các phương pháp xác định khuôn mặt 36 Chương 2 CÁC PHƯƠNG PHÁP XÁC ĐỊNH KHUÔN MẶT 2.1 Định nghĩa bài toán xác định khuôn mặt người 2.2 Ứng dụng của phương pháp xác định khuôn mặt 2.3 Phương pháp xác định khuôn mặt 2.4 Khó khăn và thử thách trong bài toán xác định khuôn mặt người G V H D : T h s . Đ à o T hị Thu Thủy
  • 49. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO/TELEGRAM : 0934.573.149 TẢI FLIE TÀI LIỆU – LUANVANTOT.COM SVTH: Ng uyễ n Tru ng Hiế u Bùi Ng ọc Liê m