Luận văn đã nghiên cứu: dùng camera quay hình giúp quan sát cá và quá trình cho cá ăn, chế tạo được một thiết bị đo bằng phương pháp xử lý ảnh qua sự kết hợp với phần mềm tính toán Matla
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
MÔ HÌNH CAMERA QUAN SÁT DƯỚI NƯỚC PHỤC VỤ
Trang 2MÔ HÌNH CAMERA QUAN SÁT DƯỚI NƯỚC PHỤC VỤ NUÔI
Giáo viên hướng dẫn:
Th.S Đặng Phi Vân Hài
Trang 3Em xin bày tỏ lòng biết ơn sâu sắc đến cô Th.S Đặng Phi Vân Hài người đã trực tiếp tận tình hướng dẫn, chỉ bảo và truyền đạt những kinh nghiệm quý báu giúp em hoàn thành luận văn tốt nghiệp này
Cảm ơn tập thể lớp DH07TD và tất cả bạn bè đã giúp đỡ và động viên tôi trong quá trình học tập cũng như trong thời gian thực hiện đề tài
Cuối cùng tôi xin chúc mọi người luôn mạnh khỏe, hạnh phúc và thành đạt
Tp Hồ Chí Minh, tháng 04 năm 2011
Sinh viên thực hiện Nguyễn Thị Hồng Trang
Trang 4TÓM TẮT
Trong những năm trở lại đây, công nghệ nuôi trồng thủy sản trong ao, bể, từ các thiết bị đơn lẻ đến hệ thống tuần hoàn nước khép kín Chuỗi sản phẩm kỹ thuật cao và phần mềm quản lý thủy sản mang lại sự tin tưởng tuyệt đối và hiệu quả cao Nuôi trồng thủy sản trong ao, bể là ngành công nghiệp phát triển nhanh trên thế giới hiện nay Mặc dù hầu hết nuôi cá chuyên canh trong ao, bể truyền thống bằng kỹ thuật lạc hậu, nhưng lý do thúc đẩy tăng trưởng nhanh như ngày nay là việc sử dụng sâu rộng các giải pháp và công nghệ cao trong xử lý nước Khai thác vùng nuôi được kiểm soát liên tục, nâng cao sức khỏe của cá, tăng trưởng, và lợi nhuận
Ở nước ta hiện nay, ngành nuôi trồng thủy sản ngày càng phát triển mạnh, với một lượng cá xuất khẩu lớn ra thị trường thế giới Tuy nhiên, đa phần các trang trại trong nước vẫn chưa đáp ứng được năng suất cũng như chất lượng đầu ra Việc áp dụng quy trình tự động hóa trong các công đoạn như giám sát thức ăn, sự tăng trưởng của cá, v.v vẫn chưa cao Trong đó, việc xác định thời điểm thu hoạch là điều quan trọng ảnh hưởng đến năng suất và sản lượng nông sản sau thu hoạch Việc tính toán xác định diện tích con cá đã mang lại năng suất cao trong quá trình thu hoạch
Đề tài “Mô hình camera quan sát dưới nước phục vụ nuôi trồng thủy sản”
Luận văn đã nghiên cứu: dùng camera quay hình giúp quan sát cá và quá trình cho cá
ăn, chế tạo được một thiết bị đo bằng phương pháp xử lý ảnh qua sự kết hợp với phần mềm tính toán Matlab nhằm xác định được các kích thước của cá được dễ dàng Các thiết bị này giúp việc khai thác, vận hành vùng nuôi đạt hiệu quả tối ưu và môi trường nuôi đảm bảo sức khỏe tốt cho cá
Trong quá trình nghiên cứu do kiến thức và thời gian có hạn, đề tài không tránh khỏi những thiếu sót và hạn chế Vậy em rất mong nhận được sự đóng góp ý kiến của quý thầy cô và các bạn để em có thể tích lũy kiến thức và kinh nghiệm cho bản thân để sau khi ra trường có trình độ tay nghề cao hơn
Em xin chân thành cảm ơn
Trang 5MỤC LỤC
TRANG TỰA i
LỜI CẢM ƠN ii
TÓM TẮT iii
MỤC LỤC iv
DANH SÁCH CÁC HÌNH vii
DANH SÁCH CÁC BẢNG viii
Chương 1 MỞ ĐẦU 1
1.1 Tổng quan 1
1.2 Mục đích và yêu cầu nghiên cứu 1
Chương 2 TỔNG QUAN 3
2.1 Tầm quan trọng và tình hình nuôi cá ở nước ta 3
2.2 Tìm hiểu hệ thống nuôi trồng thủy sản 4
2.3 Các phương pháp xác định kích thước cá 6
2.3.1 Xác định kích thước bằng phương pháp cân 6
2.3.2 Xác định kích thước bằng cách đo chiều dài 6
2.3.3 Xác định kích thức bằng cách đo diện tích thông qua hình ảnh chụp 6
2.4 Tìm hiểu phần mềm Matlab 6
2.4.2 Khả năng và những ứng dụng của Matlab 7
2.4.3 Giao diện MATLAB 8
2.4.4 Các kiểu dữ liệu 9
2.5 Hệ thống lệnh trong Matlab 9
2.5.1 Lệnh hệ thống trong Matlab 9
2.5.2 Lệnh số học 9
2.5.3 Lệnh cấu trúc 10
2.5.4 Hệ thống lệnh trong thu thập và xử lý ảnh 11
2.5.4.1 Toolbox xử lý ảnh (Image Processing Toolbox) 12
2.5.4.2 Các lệnh trong Image Processing Toolbox 13
2.5.4.3 Các lệnh trong Image Acquisition Toolbox 13
Trang 62.5.4.4 Các hàm chuyển đổi kiểu ảnh 14
2.5.4.5 Lọc nhiễu 14
2.6 Tổng quan về hệ thống xử lý ảnh 14
2.6.1 Thu nhận ảnh 14
2.6.2 Phân tích và xử lý ảnh 18
2.6.3 Hiển thị ảnh và nhận dạng 18
Chương 3 NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 19
3.1 Thời gian và địa điểm nghiên cứu đề tài 19
3.1.1 Địa điểm tiến hành đề tài 19
3.1.2 Phân bố thời gian tiến hành đề tài 19
3.2 Đối tượng và thiết bị nghiên cứu 19
3.2.1 Đối tượng nghiên cứu 19
3.2.2 Thiết bị nghiên cứu 19
3.3 Phương pháp nghiên cứu 19
3.3.1 Dùng camera quan sát cá dưới nước 20
3.3.2 Xác định kích thước cá 20
3.3.2.1 Phương pháp đo chiều dài 20
3.3.2.2 Phương pháp xử lý ảnh 20
Chương 4 KẾT QUẢ VÀ THẢO LUẬN 21
4.1 Quá trình quan sát cá dưới nước bằng camera 21
4.2 Xây dựng mô hình toán học xác định kích thước cá 22
4.2.1 Thiết kế thiết bị đo kích thước 22
4.2.2 Sơ đồ các giai đoạn của quá trình xử lý ảnh 24
4.2.3 Quá trình xử lý ảnh trên Matlab 25
4.2.3.1 Lập trình trên giao diện Editor của Matlab 7.8 26
4.2.3.2 Kết nối Matlab với camera 26
4.2.3.3 Thu nhận ảnh vào Matlab 27
4.2.3.3.1 Thu nhận ảnh tĩnh vào Matlab 27
4.2.3.3.2 Thu nhận ảnh động vào Matlab 29
Trang 74.2.3.5 Chuyển ảnh trắng đen (black white) 30
4.2.3.6 Lấy ảnh hình chữ nhật 31
4.2.3.7 Tính số pixel ảnh 31
4.2.4 Định chuẩn thiết bị đo 32
4.2.5 Kết quả mô hình toán học tính diện tích cá 33
4.2.6 Giao diện GUI 34
Chương 5 KẾT LUẬN VÀ ĐỀ NGHỊ 35
5.1 Kết luận 35
5.2 Đề nghị 35
TÀI LIỆU THAM KHẢO 36
Phụ lục 37
Trang 8DANH SÁCH CÁC HÌNH
Hình 2.1 Camera quan sát cá dưới nước 4
Hình 2.2 Nuôi trồng thủy sản trong Lồng, Bè (Nguồn Internet) 4
Hình 2.3 Camera hai đầu SmartEye 360 (Nguồn Internet) 5
Hình 2.4 Đèn Idema (Nguồn Internet) 5
Hình 2.5 Cân điện tử (nguồn internet) 6
Hình 2.6 Biểu tượng Matlab 8
Hình 2.7 Giao diện Matlab 8
Hình 2.8 Các kiểu dữ liệu của Matlab (Nguồn internet) 9
Hình 2.9 Pixel ảnh (nguồn internet) 16
Hình 2.10 Mô hình ảnh RGB (nguồn internet) 16
Hình 2.11 Mô hình màu HSV (nguồn internet) 17
Hình 2.12 Mô hình màu L*a*b (nguồn internet) 18
Hình 4.1 Camera quan sát môi trường sống của cá 21
Hình 4.2 Mô hình đo kết nối với máy tính 22
Hình 4.3 Sơ đồ các giai đoạn của quá trình xử lý ảnh 24
Hình 4.4 Sơ đồ xử lý ảnh 25
Hình 4.5 Môi trường Editor 26
Hình 4.6 Thông tin về thiết bị camera 27
Hình 4.7 Minh họa lệnh imread 28
Hình 4.8 Minh họa lệnh imshow 28
Hình 4.9 Ảnh động hiển thị trên Matlab 29
Hình 4.10 Ảnh sau khi chụp 30
Hình 4.11 Chuyển ảnh RGB sang ảnh gray 30
Hình 4.12 Chuyển ảnh xám sang ảnh black white 31
Hình 4.13 Ảnh sau khi lấy hình chữ nhật 31
Hình 4.14 Số pixel ảnh area = 15860 32
Trang 9DANH SÁCH CÁC BẢNG
Bảng 4.1: Phiếu khảo nghiệm thiết bị đo số Pixel của con cá 33
Trang 10Hiện nay, trên cả nước, nghề nuôi cá (cá nước mặn và cá nước ngọt) được mọi tầng lớp nhân dân tham gia đông đảo vì họ thấy rõ việc nuôi cá cho năng suất và sản lượng cao hơn hẳn tập quán thả cá Mặt khác, nghề nuôi cá có thể mang lại nguồn lợi kinh tế rất lớn, giúp người dân làm giàu một cách nhanh chóng
Việc đưa những tiến bộ khoa học kỹ thuật vào nuôi cá ở nước ta đang có những bước phát triển tốt, nhất là trong các khâu sản xuất giống, thức ăn và việc xác định thời điểm thu hoạch
Nhân viên kỹ thuật theo dõi sự phát triển của cá từ lúc cá con cho đến khi thu hoạch, quá trình cho cá ăn, thường là họ quan sát bằng mắt hoặc dựa vào thời gian canh tác để quyết định thời điểm thu hoạch của cá Việc xác định như vậy mất nhiều thời gian và không chính xác, do đó để khắc phục những nhược điểm đó thì cần phải
có thiết bị quan sát chính xác và nhanh để theo dõi quá trình tăng trưởng cá Đề tài
“Dùng camera quan sát dưới nước phục vụ nuôi trồng thủy sản” sẽ góp phần giải
quyết vấn đề cấp thiết trên
1.2 Mục đích và yêu cầu nghiên cứu
Mục đích của đề tài này là dùng camera quay hình quan sát cá và môi trường
Trang 11Yêu cầu nghiên cứu đề tài:
Vì thời gian có hạn cũng như mức độ rộng lớn của đề tài nên em chỉ thực hiện nghiên cứu các vấn đề cơ bản sau:
- Dùng camera quan sát môi trường sống của cá
- Ứng dụng xử lý ảnh sử dụng phần mềm Matlab tính diện tích cá nhằm theo dõi tốc độ tăng trưởng qua các giai đoạn phát triển của cá
Trang 12Chương 2
TỔNG QUAN
2.1 Tầm quan trọng và tình hình nuôi cá ở nước ta
Thủy sản là một ngành có thế mạnh ở nước ta hiện nay, đây là một trong ba ngành có đóng góp lớn nhất cho kim ngạnh xuất khuẩu của Việt Nam Bên cạnh sự phát triển nhanh tróng của nghề nuôi ven biển và nghề nuôi biển thì nghề nuôi cá nước ngọt vẫn khẳng định được vai trò của mình Với lịch sử lâu đời của nghề nuôi cá nước ngọt và những đối tượng nuôi có giá trị cao và nhu cầu lớn trên thị trường như cá tra
và cá Ba sa và gần đây là cá hồi nước lạnh thì nghề nuôi thủy sản nước ngọt vẫn là một trong những nghề mũi nhọn của nuôi trồng thủy sản tại Việt Nam Một đối tượng nuôi quan trọng khác và có tốc độ tăng trưởng rất nhanh trong thời gian gần đây đó là cá rô phi
Ở Việt Nam, cá rô phi được thu nhập từ Thái Lan vào năm 1953, đó là loài Oreochromis mossambicus thuộc giống Oreochromis (còn gọi là rô phi cỏ, rô phi mọi,
rô phi đen hay rô phi sẻ) Hiện nay các giống cá rô phi nuôi tại ĐBSCL là rất lớn, không những cá rô phi mà cá tra cũng chiếm một phần diện tích lớn ở ĐBSCL Do đó,
sự sinh trưởng và năng suất của cá ảnh hưởng rất lớn đối với đời sống của người dân nơi đây
Thu hoạch: cá nuôi khoảng 7 – 8 tháng là có thể thu hoạch được, vào thời gian này cá đạt trọng lượng từ 0,4 – 0,6kg/con, nếu được chăm sóc tốt, trong trường hợp cá lớn đều thì thu hoạch 1 lần, nếu không đều thì thu hoạch những con lớn trước, con nhỏ
để lại nuôi tiếp 1 - 2 tháng sau sẽ thu hoạch tiếp
Trang 13Hình 2.1 Camera quan sát cá dưới nước 2.2 Tìm hiểu hệ thống nuôi trồng thủy sản
Hình 2.2 Nuôi trồng thủy sản trong Lồng, Bè (Nguồn Internet)
a) Thiết bị Camera Akvasmart sử dụng trong nuôi trồng thủy sản công nghiệp được phát triển hơn 20 năm qua Với kinh nghiệm này, AKVA group đã xây dựng chuỗi sản phẩm hoàn chỉnh từ chiếc camera trắng đen cố định giản đơn cho đến các loại camera màu di chuyển được và xoay 3 chiều Akvasmart camera có thể quan sát:
• Hoạt động cho ăn loại thức ăn chìm
Trang 14• An ninh khu vực vùng nuôi
Hình 2.3 Camera hai đầu SmartEye 360 (Nguồn Internet)
b) Đèn Sử Dụng Dưới Nước:
Sử dụng đèn đúng cách dưới nước trong mùa đông sẽ giảm nguy cơ cá thuần thục sớm, giúp tăng trưởng nhanh, và hấp thụ thức ăn tốt hơn Các loại đèn sử dụng dưới nước phù hợp với cá hồi giống, cá bột nuôi trong bể nhỏ, cũng như cá nuôi thịt thương phẩm, hoặc các loài cá nhanh lớn khác cần đèn để kiểm soát
Hình 2.4 Đèn Idema (Nguồn Internet)
Trang 152.3 Các phương pháp xác định kích thước cá
2.3.1 Xác định kích thước bằng phương pháp cân
Trong quá trình thu hoạch cá thì cân là phương pháp truyền thống để xác định được khối lượng cá, so sánh với thời gian thả cá để biết được quá trình phát triển của
Chụp ảnh bể theo chiều ngang khi con cá bơi sát bể và thẳng người Xong đo tỉ
lệ cá và bể trong ảnh cùng kích thước thật của bể suy ra chiều dài cá
Ta cũng có thể lấy thước dây đo để xác định được chiều dài con cá
2.3.3 Xác định kích thức bằng cách đo diện tích thông qua hình ảnh chụp
Phương pháp này ta cần phải có thiết bị chụp ảnh (camera) kết nối với máy tính
có cài đặt chương trình xử lý ảnh như Matlab Các thao tác tính toán được thực hiện
trên phần mềm
Khi chụp hình không cần biết xa hay gần, chỉ cần chụp rõ ràng là được Về nguyên tắc xử lý ảnh, phải xác định xem vật mẫu trong ảnh chiếm bao nhiêu đơn vị (về chiều cao, rộng hoặc đường kính của đường tròn,…) ứng với kích thước thực đã biết Đây là phương pháp được áp dụng cho đề tài, bởi vì phương pháp này có những
ưu điểm như: tính được kích thước của vật một cách chính xác, ít tốn thời gian so với phương pháp cân hay đo chiều dài cá
2.4 Tìm hiểu phần mềm Matlab
2.4.1 Tổng quan và các đặc điểm của Matlab
Trang 16Chương trình MATLAB là một chương trình viết cho máy tính PC nhằm hỗ trợ cho các tính toán khoa học và kỹ thuật với các phần tử cơ bản là ma trận trên máy tính
cá nhân do công ty “The MATHWORKS” viết ra
Thuật ngữ MATLAB có được là do hai từ MATRIX và LABORATORY ghép lại Chương trình này hiện đang được sử dụng nhiều trong nghiên cứu các vấn đề tính toán của các bài toán kỹ thuật như: Lý thuyết điều khiển tự động, kỹ thuật thống kê xác suất, xử lý ác tín hiệu, phân tích dữ liệu, dự báo chuỗi chính xác, v.v…
MATLAB được điều khiển bởi các tập lệnh, tác động qua bàn phím Nó cũng cho phép một khả năng lập trình với cú pháp thông dịch lênh – còn gọi là Script file Các lệnh hay bộ lệnh của MATLAB lên đến số hàng trăm và ngày càng được mở rộng bởi các phần TOOLS BOX (thư viện trợ giúp) hay thông qua các hàm ứng dụng được xây dựng từ người sử dụng MATLAB có hơn 25 TOOLS BOX để trợ giúp cho việc khảo sát những vấn đề có liên quan trên TOOLS BOX SIMULINK là phần mềm mở rộng của MATLAB, sử dụng để mô phỏng các hệ thống động học một cách nhanh chóng và tiện lợi
Chương trình Matlab có thể chạy liên kết với các chương trình ngôn ngữ cấp cao như C, C++, Fortran, … Việc cài đặt MATLAB thật dễ dàng và ta cần chú ý việc dùng thêm vào các thư viện trợ giúp hay muốn liên kết phần mềm này với một vài ngôn ngữ cấp cao
2.4.2 Khả năng và những ứng dụng của Matlab
Một trong những tính năng tuyệt vời nhất của Matlab nhìn từ góc độ những nhà khoa học tính toán là thư viện dựng sẵn to lớn rất phong phú các chu trình tính toán và các công cụ hiển thị đồ họa
Matlab cho phép người dùng tiến hành rất nhiều các nhiệm vụ thông thường liên quan tới việc giải quyết các vấn đề một cách số học Nó cho phép chúng ta dành nhiều thời gian hơn cho việc suy nghĩ, khuyến khích chúng ta thí nghiệm
Matlab ứng dụng những thuật toán hết sức được trân trọng vì vậy chúng ta có thể tin tưởng vào kết quả thu được
Các tính toán rất mạnh có thể được thực hiện chỉ với một hoặc hai câu lệnh
Trang 17Matlab cung cấp giao diện đồ họa tuyệt hảo, các hình từ Matlab có thể đem chèn vào LATEX và các tài liệu Word
Hình 2.6 Biểu tượng Matlab 2.4.3 Giao diện MATLAB
Sau khi cài đặt xong chương trình MATLAB 7.8, nhấp chuột vào biểu tượng Matlab để khởi động chương trình Lúc đó chương trình sẽ hiện lên gồm 3 cửa sổ chính Hình 2.4 thể hiện giao diện làm việc Matlab
Hình 2.7 Giao diện Matlab
Cửa sổ Command Window: Đây là cửa sổ chính của MATLAB Tại đây ta thực hiện toàn bộ việc nhập lệnh và nhận kết quả tính toán Dấu >> là dấu đợi lệnh Sau khi nhập lệnh và kết thúc bằng động tác nhấn phím ENTER, MATLAB sẽ xử lý lệnh và xuất kết quả liền ngay dưới dòng lệnh
Cửa sổ Worthspace: Là cửa sổ thể hiện các biến đang sử dụng trong quá trình lập trình dưới dạng mảng (array), cấu trúc (struct),… tùy theo tính chất của biến Cửa
sổ sẽ tự động xóa toàn bộ dữ liệu bên trong nó sau mỗi lần tắt chương trình
Cửa sổ Command History: Tất cả các lệnh đã sử dụng trong Command Window được lưu giữ và hiển thị tại đây Có thể lặp lại lệnh cũ bằng cách nhắp đúp chuột vào
Trang 18lệnh đó Cũng có thể cắt dán, sao chép, xoá cả nhóm lệnh hoặc từng lệnh riêng rẽ Dữ liệu vẫn được lưu trên cửa sổ này sau mỗi lần tắt máy
2.4.4 Các kiểu dữ liệu
* Tổng quát về các kiểu dữ liệu:
- Matlab sử dụng 15 kiểu (loại) dữ liệu chính Mỗi một kiểu dữ liệu này đều ở dạng của một ma trận hoặc mảng.Các mảng hoặc ma trận này có kích cỡ tối thiểu là 0-nhân-0 và có thể phát triển tới mảng n-chiều với kích cỡ tùy ý
- Ngoài ra, còn có các kiểu dữ liệu do người dùng định nghĩa (thiết lập), kiểu hướng đối tượng, và kiểu dữ liệu liên quan tới Java
Hình 2.8 Các kiểu dữ liệu của Matlab (Nguồn internet) 2.5 Hệ thống lệnh trong Matlab
2.5.1 Lệnh hệ thống trong Matlab
casesen off: bỏ thuộc tính phân biệt chữ hoa và chữ thường
casesen on: sử dụng thuộc tính phân biệt chữ hoa và chữ thường
clc: Xoá cửa sổ dòng lệnh
exit, quit: thoát khỏi Matlab
help: lệnh cho xem phần trợ giúp
save: lưu giữ các biến vào file có kiểu mat
2.5.2 Lệnh số học
Cũng giống như máy tính đơn giản thông thường, MATLAB cũng sử dụng các
Trang 19Ngoài các đại lượng vô hướng, các lệnh số học này còn được xây dựng để sử dụng cho các tham số là ma trận
asb(x): Hàm tính giá trị tuyệt đối của x
sqrt(x): Hàm tính căn bậc hai của x
log(x): Hàm tính Logarit của x
sin(x): Hàm tính sin góc x, x có đơn vị là radian
cos(x): Hàm tính cosin góc x, x có đơn vị là radian
all(x): Hàm cho giá trị là 1 nếu tất cả các phần tử ma trận x khác 0, ngược lại cho giá trị bằng 0
Các toán tử Logic
: Hoặc ~ : Không (Not)
2.5.3 Lệnh cấu trúc
a.Vòng lập for-end
Cú pháp :
For chỉ số= biểu thức Nhóm lệnh A;
End Qui tắc thực hiện:
Chỉ số của vòng lập là biến
Nếu ma trận biểu thức là rỗng thì không thực hiện được vòng lập
Nếu số biểu thức là một đại lượng vô hướng, vòng lập thực hiện một lần và chỉ số nhận giá trị của đại lượng vô hướng
Nếu biểu thức là vectơ hàng, số lần lặp bằng số phần tử trong vectơ, sau mỗi lần lặp chỉ số nhận tiếp theo của vectơ
Nếu biểu thức là một ma trận thì số vòng lặp bằng số cột của ma trận, sau mỗi lần lặp chỉ số sẽ nhận giá trị cột tiếp theo của ma trận
Ví dụ:
data=[4 5 6 8;7 16 -1 5]
for n=data
Trang 20x=n(1)-n(2) end
Ví dụ:
num=0;ESP=1;
while(1+ESP)>1 ESP=ESP/2 num=num+1 end
c Cấu trúc câu lệnh điều kiện: (if hoặc If…else…)
2.5.4 Hệ thống lệnh trong thu thập và xử lý ảnh
MATLAB sử dụng hai Toolbox phục vụ cho quá trình xử lý ảnh đó là:
Trang 212.5.4.1 Toolbox xử lý ảnh (Image Processing Toolbox)
a Loại file dữ liệu của ảnh
- BMP ( Microsoft Windows Bitmap)
- HDF (Hierarchical Data Format)
- ICO ( Windows Icon Resources)
- JPG, JPEG( Joint Photographic Experts Group)
- PCX (Paintbrush)
- PNG(Porable Network Graphics)
- TIFF ( Tagged Image File Format)
- XWD ( X Window Dump)
b Các hàm đọc và lưu ảnh
- Axis: vẽ trục
- Image, imshow: hiển thị ảnh
- Imagese: sắp xếp dữ liệu và hiển thị như ảnh
- Imread: đọc ảnh từ file đồ họa
- Immovie: tạo phim từ loạt nhiều khuôn hình
- Imwrite: cất ảnh vào file đồ họa
- Imfinfo: lấy thông tin ảnh từ file
- Ind2rgb: đổi ảnh có chỉ số sang ảnh RGB
MatLab coi ảnh như một ma trận hai chiều, mỗi phần tử là một phần tử hình pixel, do đó ta có thể xử lý hình như đối với ma trận, các phần tử ma trận có thể là double (64 bit), uint 16 (16 bit), uint 8 (8 bit) Ảnh index được biễu diễn bởi hai ma trận, một ma trận dữ liệu ảnh X và một ma trận màu (còn gọi là bản đồ màu) Ma trận
có thể là kiểu uint8, uint16, double Ma trận màu là một ma trận kích thước m x 3 gồm các thành phần thuộc kiểu double có giá trị trong khoảng [0 1] Mỗi hàng của ma trận xác định thành phần red, green, blue của một màu trong tổng m màu được sử dụng trong ảnh Giá trị của một phần tử trong ma trận dữ liệu ảnh cho biết màu của điểm ảnh đó nằm ở hàng nào trong ma trận
Trang 222.5.4.2 Các lệnh trong Image Processing Toolbox
sobel: là phương pháp lấy biên gradient theo kiểu Sobel Thres (threshold):giá trị ngưỡng gradient
Giãn ảnh và co ảnh (dilate and encode)
Biểu đồ hiển thị giá trị màu (histograme)
Cú pháp:
Imhist(I) Trong đó: I chỉ có thể là đạng index, grayscale hoặc l*a*b
Tìm hiểu phần mềm Matlab có sử dụng tài liệu tham khảo MATLAB và ứng
dụng trong điều khiển, Đại học Quốc Gia Tp.Hồ Chí Minh, 1999 của Nguyễn Đức Thành
2.5.4.3 Các lệnh trong Image Acquisition Toolbox
Trong quá trình thu thập dữ liệu ảnh để đưa một ảnh từ môi trường bên ngoài vào Matlab, người ta phân ra làm hai loại dữ liệu ảnh:
Ảnh tĩnh: là các loại ảnh đã dược chụp và lưu lại hoặc được vẽ bằng các
Trang 23 Ảnh động: Là các loại ảnh được quan sát và thu lại thông qua các thiết bị
thu nhận như camera
2.5.4.4 Các hàm chuyển đổi kiểu ảnh
+ 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ộn (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
Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera
là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng
Trang 24có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh
Camera thường dùng là loại quét dòng; ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)
- Một ảnh (bao gồm các tập thể điểm ảnh) có thể xem như bao gồm tập các ảnh
con ( các vùng ảnh) Thuật ngữ gọi là ROIs – vùng quan tâm (Regions of Interest)
- Ảnh số trong không gian rời rạc thu được từ ảnh tương tự trong không gian liên tục thông qua quá trình số hóa
+ Ảnh tương tự chia thành M hàng, N cột
+ Giao của hàng và cột được gọi là: pixel
+ Giá trị biên độ pixel tại tọa độ nguyên (m,n) là S(m,n): là trung bình độ sangstrong pixel đó (L số mức xám dùng biểu diễn ảnh)
- M, N thường được chọn là M = N = 2K (K = 8,9,10) L = 2B, B là số bít mã hóa cho độ sang (biên độ) mỗi pixel
- Ảnh số được biểu diễn bởi ma trận 2 chiều Các phần tử của nó là biểu diễn cho các pixel số hóa
- Ta ký hiệu 1 ảnh số là S(M,N) Ta nói ảnh có độ phân giải MxN Ký hiệu