Đồ án Ứng dụng xử lý ảnh phát hiện đám cháy trong nhà kho (Phần 1)

pdf 22 trang phuongnguyen 30
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Ứng dụng xử lý ảnh phát hiện đám cháy trong nhà kho (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_ung_dung_xu_ly_anh_phat_hien_dam_chay_trong_nha_kho_ph.pdf

Nội dung text: Đồ án Ứng dụng xử lý ảnh phát hiện đám cháy trong nhà kho (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ ĐIỆN TỰ ĐỘNG ỨNG DỤNG XỬ LÝ ẢNH PHÁT HIỆN ĐÁM CHÁY TRONG NHÀ KHO GVHD: TH.S VŨ VĂN PHONG SVTH: LÊ HẢI DIỆN MSSV: 10118011 SVTH: NHỮ THẢO NGUYÊN MSSV: 10118049 SKL003167 Tp. Hồ Chí Minh, tháng 07/2014
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH  KHOA ĐIỆN-ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP Đề tài: ỨNG DỤNG XỬ LÝ ẢNH PHÁT HIỆN ĐÁM CHÁY TRONG NHÀ KHO GVHD: ThS. VŨ VĂN PHONG SVTH: LÊ HẢI DIỆN MSSV:10118011 LỚP:101181B NHỮ THẢO NGUYÊN MSSV:10118049 LỚP:101182A Khoá: 2010 - 2014 Tp. Hồ Chí Minh, tháng 07 năm 2014
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH  KHOA ĐIỆN-ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP Đề tài: ỨNG DỤNG XỬ LÝ ẢNH PHÁT HIỆN ĐÁM CHÁY TRONG NHÀ KHO GVHD: ThS. VŨ VĂN PHONG SVTH: LÊ HẢI DIỆN MSSV:10118011 LỚP:101181B NHỮ THẢO NGUYÊN MSSV:10118049 LỚP:101182A Khoá: 2010 - 2014 Tp. Hồ Chí Minh, tháng 07 năm 2014
  4. Chương 1 : DẪN NHẬP 1.1. Đặt vấn đề Chúng ta đã biết, hàng năm trên thế giới cũng như nước ta xảy ra hàng trăm vụ cháy lớn, nhỏ. Thiệt hại về người và tài sản do cháy gây ra là vô cùng to lớn. Cháy xảy ra do nhiều nguyên nhân khác nhau. Vậy làm thế nào để giảm thiểu và hạn chế một cách tối đa các tác hại do các đám cháy gây ra, Ở Việt Nam hiện nay tốc độ xây dựng cơ sở hạ tầng đang diễn ra một cách mạnh mẽ. Các tòa nhà cao tầng, trung tâm thương mại, trụ sở văn phòng xuất hiện ngày một nhiều, đặc biệt ở các thành phố lớn. Các tòa nhà với tính chất kiến trúc rộng và đa dạng, lại là nơi thường xuyên tập trung lượng lớn con người học tập, làm việc và được trang bị nhiều tài sản quý giá luôn tiềm ẩn những nguy cơ khác nhau dẫn tới hỏa hoạn. Do đó việc trang bị hệ thống báo cháy tự động nhằm phát hiện sớm các nguy cơ để ngăn chặn hiệu quả là một yêu cầu cấp thiết của các công trình. Từ những lý do trên nhóm em chọn đề tài “Ứng dụng xử lý ảnh phát hiện đám cháy trong nhà kho”. Với việc chỉ dùng một chiếc camera bình thường hay đơn giản như một webcam với độ phân giải từ 2 megapixel trở lên là có thể thực hiện được. 1.2. Lý do chọn đề tài Cháy – một thảm họa lớn: Hiện trên thế giới cũng như ở Việt Nam, mỗi năm có hàng nghìn vụ cháy, gây thiệt hại lớn về người và kinh tế. Trong khi đó, hầu hết các đám cháy khi được phát hiện là những đám cháy đã xuất hiện, phát triển từ lâu (hàng chục phút đến hàng giờ). Vì vậy, việc tìm kiếm và phát triển những phương pháp phát hiện sớm các khu vực sắp cháy, cháy nhỏ một cách chính xác, kịp thời thực sự cấp thiết. Hiện tại, đã có nhiều nghiên cứu đề xuất những biện pháp phát hiện và cảnh báo cháy như dùng các đầu báo cháy nhiệt, đầu báo cháy khói và đầu báo cháy lửa. Hệ thống phát hiện và cảnh báo cháy dựa trên đầu báo cháy truyền thống đã phát huy hiệu quả trong nhiều tình huống, cảnh báo cháy chính xác khi nhiệt độ, khói lan tỏa tới đầu báo cháy đạt ngưỡng hoạt động của thiết bị. Tuy vậy, phương pháp này vẫn có hạn chế là các đầu báo cháy chỉ làm việc khi nhiệt độ, khói đã lan truyền tới đầu cảm biến và đạt ngưỡng hoạt động, khi đó thường đám cháy đã phát triển lớn. Vì vậy, hệ thống chỉ hiệu quả trong không gian nhỏ và kín (như trong phòng), phát hiện cháy khi đám cháy bùng phát không nhanh, còn với vùng giám sát có không gian mở như các hành lang, phòng không kín, ảnh hưởng gió thì hệ thống hoạt động kém hiệu quả. Việc phát hiện và cảnh báo cháy sử dụng đầu dò cũng còn nhiều hạn chế do phụ thuộc hoàn toàn vào thời gian lan truyền nhiệt và khói kể từ khi bắt đầu xảy ra hiện tượng cháy cho đến khi khói hoặc nhiệt độ lan tỏa tới đầu dò. Những năm gần đây, một hướng mở ra trong nghiên cứu cảnh báo cháy là sử dụng kỹ thuật xử lý ảnh nhận dạng thông qua hệ thống quan sát camera. Những Page 1
  5. nghiên cứu ứng dụng kỹ thuật xử lý ảnh, video vào các hệ thống camera cảnh giới với mục đích phát hiện và cảnh báo cháy phát triển mạnh và đã có những kết quả nhất định. Phần lớn các giải pháp được đề xuất cho bài toán phát hiện ngọn lửa sử dụng kỹ thuật xử lý ảnh, video số hiện đều dựa trên những tính chất có thể quan sát được của ngọn lửa như màu sắc, sự thay đổi về vị trí các điểm ảnh của ngọn lửa theo thời gian. Tuy nhiên, hầu hết các nghiên cứu mới chỉ dừng lại ở việc phân tích đặc trưng của ngọn lửa, kết quả còn ở mức thử nghiệm, độ chính xác chưa cao; nghiên cứu vật liệu chống cháy; phương pháp chữa cháy Xuất phát từ thực tiễn nói trên, cùng với sự hỗ trợ của giáo viên hướng dẫn thầy Th.s Vũ Văn Phong, nhóm đã tiến hành một số nghiên cứu và đạt được những kết quả khả quan trong phát hiện cảnh báo cháy sớm thông qua việc phân tích các đặc trưng màu sắc, đặc trưng “lay động” của ngọn lửa. Nhóm đã hoàn thiện đề tài: “ứng dụng xử lý ảnh phát hiện đám cháy trong nhà kho”. Hình 1.1. : Ảnh minh họa Khả năng ứng dụng rộng lớn: Sau một thời gian thực hiện, đề tài đã xây dựng được mô hình toán học màu của điểm ảnh thuộc ngọn lửa; thuật toán nhận dạng đối tượng chuyển động với ảnh đầu vào thu được từ camera quan sát; mô hình nhận dạng ngọn lửa dựa vào sự kết hợp đặc trưng màu và sự lay động của ngọn lửa; mô hình nhận dạng đám khói dựa vào sự kết hợp đặc trưng màu và sự chuyển động của đám khói; mô hình nhận dạng đám cháy trong môi trường ánh sáng yếu; mô hình toán học nhận biết hình ảnh của ngọn lửa dựa trên cấu trúc không gian, cấu trúc “vành” và cấu trúc “ngọn” đối với một ảnh tĩnh; thiết kế mô hình, hệ thống trợ giúp phát hiện đám cháy sớm trong phạm vi Page 2
  6. không gian hẹp (trong phòng kín) qua ảnh từ camera quan sát. Hệ thống cho phép thiết lập các tham số cảnh báo phù hợp với môi trường giám sát. 1.3. Mục đích nghiên cứu Mục đích tổng quát: Nghiên cứu và thử nghiệm mô hình, giải pháp phát hiện và cảnh báo cháy sớm dựa trên hình ảnh thu được từ camera quan sát. Xây dựng thử nghiệm hệ thống phát hiện và cảnh báo cháy. Mục đích cụ thể:  Thu thập, phân tích, phân loại và xây dựng bộ dữ liệu video các đám cháy với điều kiện ánh sáng môi trường trong phòng, vật liệu cháy thông thường, dùng làm bộ dữ liệu chuẩn cho công tác nghiên cứu, thử nghiệm và đánh giá.  Đề xuất mô hình phát hiện và cảnh báo cháy sớm với hình ảnh thu được từ camera quan sát trong các điều kiện. + Camera quan sát trong nhà kho, nhà xưởng. + Vật liệu cháy thông thường.  Tìm hiểu việc truyền dữ liệu giữa Matlab với vi điều khiển PIC.  Tìm hiểu các thuật toán nhận dạng và xử lý ảnh màu, cấu trúc ảnh màu.  Nâng cao kỹ năng thiết kế và lập trình bằng ngôn ngữ Matlab. Rèn luyện kỹ năng nghiên cứu và tìm hiểu tài liệu. 1.4. Giới hạn nghiên cứu của đề tài  Vì thời gian có hạn nên nhóm chỉ tập trung nghiên cứu phát hiện đám cháy trong nhà kho, nhà xưởng và nhà ở.  Hiểu các chức năng cơ bản của vi điều khiển PIC 16F887. Tìm hiểu phần mềm mikroC PRO for PIC, để lập trình cho vi điều khiển PIC. 1.5. Cấu tạo và hoạt động của hệ thống báo cháy tự động Hệ thống báo cháy tự động là hệ thống gồm tập hợp các thiết bị có nhiệm vụ phát hiện và báo động khi có cháy xảy ra. Việc phát hiện ra các tín hiệu cháy có thể được thực hiện tự động bởi các thiết bị hoặc bởi con người, và nhất thiết phải hoạt động liên tục trong 24/24 giờ. Page 3
  7. Hình 1.2. : Hệ thống báo cháy đơn giản 1.6. Các thành phần của một hệ thống báo cháy tự động Một hệ thống báo cháy tự động tiêu biểu sẽ có 3 thành phần như sau: 1.6.1. Trung tâm báo cháy Được thiết kế dạng tủ, bao gồm các thiết bị chính: một mainboard điều khiển, các module, một biến thế, một battery. Hình 1.3. : Trung tâm báo cháy 2, 4, 8 zone, HCV-2, HCV-4, HCV-8 1.6.2. Thiết bị đầu vào - Đầu báo: báo khói, báo nhiệt, báo gas, báo lửa - Công tắt khẩn (nút nhấn khẩn). 1.6.3. Thiết bị đầu ra - Bảng hiển thị phụ (bàn phím). - Chuông báo động, còi báo động. - Đèn báo động, đèn exit Page 4
  8. Hình 1.4. : Sơ đồ một hệ thống báo cháy phức tạp 1.7. Nguyên lý hoạt động của một hệ thống báo cháy Quy trình hoạt động của hệ thống báo cháy là một quy trình khép kín. Khi có hiện tượng về sự cháy (chẳng hạn như nhiệt độ gia tăng đột ngột, có sự xuất hiện của khói hoặc các tia lửa) các thiết bị đầu vào (đầu báo, công tắc khẩn) nhận tín hiệu và truyền thông tin của sự cố về trung tâm báo cháy. Tại đây trung tâm sẽ xử lý thông tin nhận được, xác định vị trí nơi xảy ra sự cháy (thông qua các zone hay địa chỉ) và truyền thông tin đến các thiết bị đầu ra (bảng hiển thị phụ, chuông, còi, đèn), các thiết bị này sẽ phát tín hiệu âm thanh, ánh sáng để mọi người nhận biết khu vực đang xảy ra sự cháy và xử lý kịp thời. 1.8. Phân loại hệ thống báo cháy  Hệ thống báo cháy sử dụng 2 loại điện thế khác nhau: 12V và 24V. Về mặt lý thuyết cả hai loại này đều có tính năng kỹ thuật và công dụng như nhau. Nhưng, so với hệ thống báo cháy 24V thì hệ thống báo cháy 12V không mang tính chuyên nghiệp, trung tâm 12V chủ yếu được sử dụng trong hệ thống báo trộm, ngoài ra hệ thống còn bắt buộc phải có bàn phím lập trình. Trong khi hệ thống báo cháy 24V là một hệ thống báo cháy chuyên nghiệp, khả năng truyền tín hiệu đi xa hơn, và không bắt buộc phải có bàn phím lập trình. Tuy nhiên, trung tâm xử lý hệ báo cháy 12V ( ví dụ như trung tâm Networx) có giá thành thấp hơn so với trung tâm xử lý hệ báo cháy 24V (Ví dụ như trung tâm Mircom, )  Ngoài ra, Hệ thống báo cháy được chia làm 2 hệ chính, gồm: Page 5
  9. 1.8.1. Hệ thống báo cháy thông thƣờng Hình 1.5. : Hệ thống báo cháy thông thường Tính năng đơn giản, giá thành không cao, hệ thống này thông thường chỉ thích hợp lắp đặt tại các công ty, nhà xưởng, nhà kho có diện tích vừa hoặc nhỏ ( khoảng vài nghìn mét vuông). Các thiết bị trong hệ thống được mắc nối tiếp với nhau và mắc nối tiếp với trung tâm báo cháy. Khi xảy ra cháy trung tâm chỉ có thể nhận biết khu vực quy ước mà hệ thống giám sát chứ không biết chính xác vị trí từng đầu báo, chính xác từng địa điểm có cháy. Điều làm tốc độ xử lý của nhân viên giám sát bị hạn chế. 1.8.2. Hệ thống báo cháy địa chỉ Hình 1.6. : Hệ thống báo cháy địa chỉ Page 6
  10. Tính năng kỹ thuật rất chuyên nghiệp và dùng để lắp đặt tại các công ty, nhà xưởng, nhà kho mà mặt bằng sử dụng rộng lớn (vài chục nghìn mét vuông) được chia ra làm nhiều khu vực độc lập, các phòng ban, vị trí trong từng khu vực riêng biệt với nhau. Mỗi thiết bị trong hệ thống báo cháy địa chỉ được mắc trực tiếp với trung tâm báo cháy giúp nhận biết tín hiệu xảy ra cháy tại từng khu vực, địa điểm một cách rõ ràng và chính xác. Do đó tốc độ xử lý của nhân viên giám sát rất nhanh và rất chính xác cũng như khả năng hạn chế thiệt hại cao. 1.9. Bảng giá hệ thống báo cháy của BULJABI THÀNH PHẦN VÀ GIÁ HỆ THỐNG(VNĐ) KHUYẾN HÌNH ẢNH HỆ MÃI THỐNG Hệ thống báo cháy 5 Từ 01 đến 05 cảm biến : 9,6 8,64 triệu kênh triệu - Tủ trung tâm báo cháy Từ 06 đến 10 cảm biến : 12,6 11,34 - Cảm biến triệu triệu khói nhiệt Từ 11 đến 15 cảm biến : 15,6 14,04 - Đèn chớp báo triệu triệu hiệu - Chuông báo Từ 16 đến 20 cảm biến : 18,6 16,74 cháy triệu triệu - Nút nhấn Từ 21 đến 25 cảm biến : 21,6 21,38 khẩn cấp triệu triệu - Nhân công lắp đặt và thi Từ 26 đến 30 cảm biến : 24,6 22,14 công triệu triệu - Miễn phí 15m Từ 31 đến 35 cảm biến : 27,6 24,84 dây/1 cảm triệu triệu biến - Hãng : Từ 36 đến 40 cảm biến : 30,6 27,54 Buljabi triệu triệu - Xuất xứ : Từ 41 đến 45 cảm biến : 33,6 30,24 Made in triệu triệu Korea - Bảo hành : 12 Từ 46 đến 50 cảm biến : 36,6 32,94 tháng triệu triệu Bảng 1.1. : Bảng giá hệ thống báo cháy 5 kênh Page 7
  11. THÀNH PHẦN VÀ GIÁ HỆ THỐNG(VNĐ) KHUYẾN HÌNH ẢNH HỆ MÃI THỐNG Hệ thống báo cháy 5 Từ 01 đến 05 cảm biến : 9,6 8,64 triệu kênh triệu - Tủ trung tâm Từ 06 đến 10 cảm biến : 12,6 11,34 triệu báo cháy triệu - Cảm biến khói Từ 11 đến 15 cảm biến : 15,6 14,04 triệu nhiệt triệu - Đèn chớp báo Từ 16 đến 20 cảm biến : 18,6 16,74 triệu hiệu triệu - Chuông báo Từ 21 đến 25 cảm biến : 21,6 21,38 triệu cháy triệu - Nút nhấn khẩn Từ 26 đến 30 cảm biến : 24,6 22,14 triệu cấp triệu - Nhân công lắp Từ 31 đến 35 cảm biến : 27,6 24,84 triệu đặt và thi công triệu - Miễn phí 15m Từ 36 đến 40 cảm biến : 30,6 27,54 triệu dây/1 cảm triệu biến Từ 41 đến 45 cảm biến : 33,6 30,24 triệu - Hãng : Buljabi triệu - Xuất xứ : Từ 46 đến 50 cảm biến : 36,6 32,94 triệu Made in triệu Korea - Bảo hành : 12 tháng Bảng 1.2. : Bảng giá hệ thống báo cháy 60 kênh Từ hai bảng báo giá trên cho ta thấy để lắp đặt một hệ thống báo cháy đơn giản từ 1 đến 5 cảm biến mất ít nhất khoảng 10 triệu, nhưng với đồ án này ta chỉ cần 1 chiếc camera hay 1 webcam có độ phận giải từ 2 megapixel trở lên, giá khoảng dưới 1 triệu là có thể phát hiện được. Như vậy nếu thực hiện thành công thì đây sẽ là một bước tiến rất quang trọng trong PCCC và tiết kiệm chi phí rất lớn cho việc lắp đặt một hệ thống cảnh báo cháy. Page 8
  12. Chương 2 : CƠ SỞ LÝ THUYẾT 2.1. Giới thiệu về Matlab và xử lý ảnh 2.1.1. Giới thiệu 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. 2.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. 2.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 Page 9
  13. 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. 2.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. 2.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ôi trường làm việc của. Mạng nơron. Logic mờ. Simulink. 2.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. Đâ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 viewing help. 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 nghịch đả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 Page 10
  14. 2.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ẽ 2.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 2.1. : Cửa sổ làm việc của Matlab 2.1.5. Các cửa sổ làm việc với Matlab 2.1.5.1. 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: Vd: >>A = pi/2; > >B = sin(A) B = 1 Hoặc chương trình soạn thảo trong M-file dưới đây: Page 11
  15. Hình 2.2. : Cửa sổ M-File 2.1.5.2. 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 2.3 Hình 2.3. : Cửa sổ Command History Page 12
  16. 2.1.5.3. 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. Hình 2.4. : Cửa sổ Workspace 2.1.5.4. 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. Page 13
  17. Hình 2.5. : Cửa sổ M-file 2.1.6. Xử lý ảnh với Matlab 2.1.6.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. Hình 2.6. : Các bước trong xử lý ảnh cơ bản Page 14
  18. 2.1.6.2. Các giai đoạn xử lý ảnh 2.1.6.2.1. 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ố. 2.1.6.2.2. 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ố. 2.1.6.2.3. 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. 2.1.6.2.4.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 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. Page 15
  19. 2.1.6.2.5. Nhận dạng và nội suy ảnh (Image recognition and interpreptation) 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 2.1.6.2.6.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. 2.2. Các kiểu ảnh trong Matlab 2.2.1. Ả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 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 Page 16
  20. 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. 2.2.2. Ả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. 2.2.3. Ả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. 2.2.4. Ả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à 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). Page 17
  21. 2.2.5. Không gian màu HSV (hue saturation value) Không gian màu này còn có tên khác là HSI (intensity), HSL (lightness). Mô hình này do AR Smith tạo ra vào năm 1978. Nó dựa trên các đặc tính màu trực quan như sắc (tint), bóng (shade) và tông màu (tone); nói cách khác là họ màu, độ thuần khiết, và độ sáng. Là không gian màu được dùng trong việc chỉnh sửa ảnh, phân tích ảnh và một phần của lĩnh vực thị giác máy tính. Hệ không gian màu này dựa vào ba thông số sau để mô tả màu sắc. Không gian màu này thường được biểu diễn dưới dạng hình trụ hoặc hình nón. Hình 2.7. : Không gian màu HSV Hệ tọa độ cho không gian màu này là hình trụ: - Giá trị màu thuần khiết (Hue) chạy từ 0 đến 360°. - Độ bão hòa màu (Saturation) là mức độ của thuần khiết của màu, có thể hiểu là có bao nhiêu màu trắng được thêm vào màu thuần khiết này. Giá trị của S nằm trong đoạn [0, 1], trong đó S = 1 là màu tinh khiết nhất, hoàn toàn không pha trắng. Nói cách khác, S càng lớn thì màu càng tinh khiết, nguyên chất. - Độ sáng của màu (Value), có khi được gọi là Intensity, Lightness, cũng có giá trị dao động trong đoạn [0, 1], trong đó V = 0 là hoàn toàn tối (đen), V = 1 là hoàn toàn sáng. Nói cách khác, V càng lớn thì màu càng sáng. Như vậy với mỗi giá trị (H, S, V) sẽ cho ta một màu sắc mà ở đó mô tả đầy đủ thông tin về máu sắc, độ đậm đặc và độ sáng của màu đó. Page 18
  22. S K L 0 0 2 1 5 4