1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng xử lý ảnh nhận diện biển số xe gắn máy bằng phần mềm labview

101 43 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng xử lý ảnh nhận diện biển số xe gắn máy bằng phần mềm LabVIEW
Tác giả Hồ Duy Guỳnh
Người hướng dẫn Th.s Phạm Văn Phát
Trường học Đại học Sư phạm Kỹ thuật
Chuyên ngành Công nghệ Kỹ thuật Điện - Điện tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 101
Dung lượng 5,4 MB

Nội dung

Phầncứng có phần chính là Camera để thu nhận hình ảnh và phần mềm sẽ phân tích hìnhảnh đó để lấy ra các ký tự trên biển số xe.Sau khi thu nhận và đẩy vào chương trình để xử lý th

Trang 1

KHOA ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ

CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP

(Dành cho người hướng dẫn)

Trang 3

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc

NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP

(Dành cho người phản biện)

Trang 4

Như mọi hệ thống khác, hệ thống này yêu cầu có phần cứng và phần mềm Phầncứng có phần chính là Camera để thu nhận hình ảnh và phần mềm sẽ phân tích hìnhảnh đó để lấy ra các ký tự trên biển số xe.

Sau khi thu nhận và đẩy vào chương trình để xử lý thì quả trình xử lý biển sốđược thực hiện như sau:

- TÁCH BIỂN SỐ: khối này có chức năng tách biển số từ ảnh chụp bằng cácphương pháp xử lý ảnh Kết quả của khối là ảnh màu RBG (Red Green Blue) đượccắt ra từ ảnh chụp Đây là một công việc rất khó khăn vì ta không biết được vị trí chínhxác của biển số Ngoài ra, còn phụ thuộc vào độ sáng của ảnh chụp

- PHÂN ĐOẠN KÍ TỰ: sau khi tách biển số, khối này thực hiện tách từng kí tựcó trong biển số, tạo thành tập ảnh riêng biệt các ký tự phục vụ việc nhận dạng ký tự.Ảnh của mỗi ký tự là ảnh trắng đen

- NHẬN DẠNG KÍ TỰ: sau khi phân đoạn, tách các kí tự trong biến số và tạothành một chuỗi ký tự Chuỗi này đưa vào khối nhận dạng dạng để tiến hành nhậndạng từng ký tự trong chuỗi

Đề tài gồm có 4 chương chính:

 Chương 1: Tổng quan về xử lý ảnh(Chương này trình bày các nội dung liênquan kỹ thuật xử lý ảnh)

 Chương 2: Phần mềm LabVIEW và Xử lý ảnh với LabVIEW(Chương nàytrình bày chi tiết về phần mềm LabVIEW Cách thức thực hiện, xây dựng, phát triểnứng dụng trên lapview)

 Chương 3: Thiết kế chương trình nhận diện biển số xe trên LabVIEW(Chươngnày trình bày chi tiết về cách xây dựng mô hình nhận diện biển số, quá trình huấnluyện(thủ công/tự động); dữ liệu cho huấn luyện, edit code cho các khối chứcnăng.v.v )

Trang 5

 Chương 4: Phân tích, đánh giá kết quả thực hiện(Chương này trình bày chi tiếtquá trình tìm hiểu, nghiên cứu; các kết quả đã thực hiện; ưu nhược điểm và hạn chếtồn tại; hướng phát triển,)

Trang 6

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Giảng viên hướng dẫn: ThS Phạm Văn Phát

Sinh viên thực hiện: Hồ Duy Guỳnh Mã SV: 1711505210136

1 Tên đề tài:

ỨNG DỤNG XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XE GẮN MÁY BẰNG PHẦN MỀM LABVIEW

2 Các số liệu, tài liệu ban đầu:

- Data ảnh biển số xe

- Tài liệu về LabVIEW

- Nghiên cứu, tìm hiểu về xử lý ảnh, phần mềm LabVIEW và ứng dụng

LabVIEW trong xử lý ảnh

- Xây dựng mô hình, sơ đồ, chương trình cho phép nhận diện được biển sổ xe từ

dữ liệu ảnh chụp Kết quả là dòng LICENSE NUMBER biển số xe, lưu kết quả sau khi

xử lý Sai số của mô hình ≤ 05%

- Phần mềm sử dụng: LabVIEW 2017

- Tài liệu: Hướng dẫn sử dụng LabVIEW, các tài liệu và đường link gợi ý của

GVHD

3 Nội dung chính của đồ án:

 Chương 1: Tổng quan về xử lý ảnh Chương này trình bày các nội dung liên

quan kỹ thuật xử lý ảnh (như nhận diện ảnh, tách biên, trừ nền, trích xuất các thuộctính ảnh, các dạng ảnh,….)

 Chương 2: Phần mềm LabVIEW và Xử lý ảnh với LabVIEW Chương này

trình bày chi tiết về phần mềm LabVIEW, công cụ chính được sử dụng, nghiên cứucủa đề tài Các nội dung gồm giới thiệu phần mềm; Khả năng ứng dụng; giao diện;công cụ; phát triển các ứng dụng; cách thức thực hiện, xây dựng, phát triển ứng dụngtrên LabVIEW; lập trình và sinh mã trên LabVIEW (source code).v.v

 Chương 3: Thiết kế chương trình nhận diện biển số xe trên LabVIEW.

Chương này trình bày chi tiết về cách xây dựng mô hình nhận diện biển số xe baogồm: Sơ đồ khối/mạch; chứng năng, thuộc tính các khối/Block; nguyên lý chung vàquy trình hoạt động của mô hình; thuật toán(sơ đồ và hoạt động, giải thích thuật toán);quá trình huấn luyện(thủ công/tự động); dữ liệu cho huấn luyện và dữ liệu cho nhậndạng; các vấn đề sai số, nhiều và giải pháp xử lý; việc sinh mã và edit code cho cáckhối chức năng.v.v

Trang 7

 Chương 4: Phân tích, đánh giá kết quả thực hiện Chương này trình bày chi

tiết quá trình tìm hiểu, nghiên cứu; các kết quả đã thực hiện; ưu nhược điểm và hạnchế tồn tại; đánh giá mức độ đạt được so với yêu cầu, nhiệm vụ của ĐATN; hướngphát triển, nghiên cứu tiếp(nếu có); kết luận;

4 Các sản phẩm dự kiến

- Báo cáo tổng kết đồ án tốt nghiệp

- Mô hình mô phỏng hệ thống nhận diện biển số xe sử dụng phần mềmLabVIEW

Trang 8

LỜI NÓI ĐẦU

Trong quá trình thực tập tại công ty, em đã tiếp cận với các lĩnh vực liên quanđến ngành học Trong đó, nhận dạng và xử lý ảnh là một trong những lĩnh vực mà emđược tiếp cận và giao nhiệm vụ nhiều nhất Vì vậy, em đã chọn lĩnh vực Xử lý ảnh đểthực hiện đồ án với đề tài “ỨNG DỤNG XỬ LÝ ẢNH NHẬN DIỆN BIỂN SỐ XEGẮN MÁY BẰNG PHẦN MỀM LABVIEW”

Để hoàn thành tốt đề tài này, trước tiên, Em xin chân thành cảm ơn các thầy cô

và ban giám hiệu trường ĐH Sư Phạm Kỹ thuật Đà Nẵng nói chung và các thầy côtrong khoa Điện – Điện tử nói riêng đã tạo mọi điều kiện giúp đỡ chúng em trong quátrình học tập và nghiên cứu

Tiếp đến, Em xin chân thành gửi lời cảm ơn đến các anh Kỹ sư tại công tyTNHH Premo Việt Nam tại lô 21, KCN Điện Nam Điện Ngọc, Điện Bàn, Quảng Nam

là đơn vị Em được thực tập đã hướng dẫn và bồi dưỡng kiến thức trong quá trình thựctập và làm việc tại công ty

Và đặc biệt xin chân thành gửi lời cảm ơn thầy Phạm Văn Phát, là giảng viênhướng dẫn và cũng là người đã nhiệt tình giúp đỡ cho em trong suốt quá trình hoànthành đề tài

Do thời gian và kiến thức còn hạn chế nên đồ án không tránh khỏi những sai sót

Em mong nhận được sự đóng góp bổ sung của thầy cô giáo và các bạn

Cuối cùng xin chân thành cảm ơn tất cả các bạn đã đóng góp ý kiến và hổ trợ emtrong quá trình thực hiện thành đồ án này

Sinh viên thực hiện

Hồ Duy Guỳnh

Trang 9

CAM ĐOAN

Kính gửi hội đồng bảo vệ đồ án tốt nghiệp khoa Điện- Điện Tử, trường Đại học

Sư Phạm Kỹ thuật – Đại học Đà Nẵng

Tôi là Hồ Duy Guỳnh sinh viên lớp 17KTDT1, Khoa Điện- Điện Tử, trường Đạihọc Sư Phạm Kỹ thuật – Đại học Đà Nẵng

Tôi xin cam đoan đồ án tốt nghiệp “ỨNG DỤNG XỬ LÝ ẢNH NHẬN DIỆN

BIỂN SỐ XE GẮN MÁY BẰNG PHẦN MỀM LABVIEW ” là công trình nghiên

cứu của bản thân Những phần sử dụng tài liệu tham khảo trong đồ án đã được nêu rõtrong phần tài liệu tham khảo Các số liệu, kết quả trình bày trong đồ án là sản phẩmriêng của công trình nghiên cứu và hoàn toàn trung thực, nếu sai tôi xin chịu hoàn toàntrách nhiệm và chịu mọi kỷ luật của bộ môn và nhà trường đề ra

Sinh viên thực hiện

Trang 10

MỤC LỤC

NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP i

NHẬN XÉT PHẢN BIỆN ĐỒ ÁN TỐT NGHIỆP ii

TÓM TẮT iii

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP v

LỜI NÓI ĐẦU vii

CAM ĐOAN viii

MỤC LỤC ix

DANH SÁCH CÁC HÌNH VẼ xii

DANH SÁCH CHỮ VIẾT TẮT xv

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ XỬ LÝ ẢNH [1] 3

1.1 SƠ LƯỢC VỀ XỬ LÝ ẢNH 3

1.2 CÁC VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH 5

1.2.1 Một số khái niệm cơ bản 5

1.2.2 Chỉnh mức xám 6

1.2.3 Trích chọn đặc điểm 6

1.2.4 Nhận diện 6

1.3 CÁC LOẠI TỆP CƠ BẢN TRONG XỬ LÝ ẢNH 7

1.3.1 File ảnh IMG 7

1.3.2 File ảnh PCX 8

1.3.3 Định dạng ảnh GIF(Graphics Interchanger Format) 9

1.3.4 File ảnh BMP (BITMAP) 10

1.3.5 Cấu trúc ảnh BMP 11

1.3.6 Cấu trúc ảnh PNG 12

1.4 CÁC ĐỊNH NGHĨA CƠ BẢN VỀ HISTOGRAM 13

1.4.1 Định nghĩa histogram là gì? 13

1.5 PHẠM VI ỨNG DỤNG CỦA XỬ LÝ ẢNH 17

CHƯƠNG 2 PHẦN MỀM LABVIEW VÀ XỬ LÝ ẢNH VỚI LABVIEW [2] 18

2.1 GIỚI THIỆU LABVIEW 18

2.1.1 LabVIEW là gì? 18

2.1.2 Ưu điểm và nhược điểm LabVIEW 18

2.1.3 Các khả năng chính của LabVIEW 19

2.1.4 Môi trường phát triển LabVIEW 19

Trang 11

2.1.5 Các tín hiệu đo được với LabVIEW 19

2.1.6 Phân tích 19

2.1.7 Hiển thị 20

2.1.8 Điều khiển 20

2.1.9 Giao tiếp với thiết bị ngoại vi 20

2.2 NHỮNG KHÁI NIỆM CƠ BẢN CỦA LABVIEW 21

2.2.1 VI (Vitual Instrument) - Thiết bị ảo 21

2.2.2 Front Panel và Block Diagram 21

2.2.3 Icon & Connector 24

2.2.4 Các kỹ thuật lập trình trên LabVIEW: 24

2.2.5 Tool palette 25

2.2.6 Controls Palette (bảng điều khiển) 25

2.2.7 Function palette 26

2.2.8 Các kiểu dữ liệu 26

2.3 SUBVI VÀ CÁCH XÂY DỰNG SUBVI 29

2.3.1 Khái niệm SubVI 29

2.3.2 Xây dựng SubVI 29

2.4 KỸ THUẬT LẬP TRÌNH NÂNG CAO TRONG LABVIEW 31

2.4.1 Liên kết thiết bị ảo với thiết bị phần cứng 31

2.4.2 Cấu trúc cơ bản của DAQ 32

2.5 PHẦN CỨNG DAQ 37

2.6 PHẦN MỀM (SOFTWARE) 38

2.7 XỬ LI ẢNH VỚI VISION ASSISTANT 39

2.8 XỬ LÝ ẢNH TRÊN LABVIEW VỚI THƯ VIỆN VISION MOTION 42

2.9 MỘT SỐ THUẬT TOÁN NHẬN DẠNG TRONG LABVIEW 45

2.9.1 Nhận dạng vật mẫu (Pattern Matching) 45

2.9.2 Nhận dạng màu(Color Matching) 46

2.9.3 Nhận dạng kí tự quang học OCR(Optical Character Recognition) 47

CHƯƠNG 3 THIẾT KẾ CHƯƠNG TRÌNH NHẬN DIỆN BIỂN SỐ XE TRÊN LABVIEW[3] 51

3.1 XÂY DỰNG PHƯƠNG PHÁP NHẬN DIỆN BIỂN SỐ XE 51

3.1.1 Khái quát đối tượng cần nhận diện: 51

3.1.2 Quá trình nhận diện biển số: 51

3.1.3 Cách huấn luyện thủ công – tạo vật mẫu: Sử dụng Vision Assistant 52

3.2 THIẾT KẾ CHƯƠNG TRÌNH 61

3.2.1 Sơ đồ khối 61

Trang 12

3.2.2 Giao diện của chương trình(Front Panel) 66

3.2.3 Nguyên lí hoạt động của chương trình(Block Diagram) 68

3.2.4 Sơ Đồ Thuật Toán 71

3.2.5 Module chính của chương trình 72

3.2.6 Các khối chức năng chính có điều chỉnh thông số trong chương trình 75

CHƯƠNG 4 PHÂN TÍCH, ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN 77

4.1 CHẠY THỬ HỆ THỐNG 77

4.2 KẾT QUẢ VÀ HIỆU XUẤT 79

4.2.1 Kết quả 79

4.2.2 Hiệu xuất 80

4.3 GIẢI QUYẾT VẦN ĐỀ TỒN ĐỘNG 81

4.4 ĐÁNH GIÁ HỆ THỐNG 82

4.5 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 83

KẾT LUẬN 84

TÀI LIỆU THAM KHẢO 86

Trang 13

DANH SÁCH CÁC HÌNH VẼ

Hình 1.1 Cấu trúc xử lý ảnh 3

Hình 1.2 Tiến trình xử lý ảnh 4

Hình 1.3 Cấu trúc tệp ảnh dạng PCX 9

Hình 1.4 BitmapHeader(54 byte) 12

Hình 1.5 Lược đồ xám của ảnh 14

Hình 1.6 Một ví dụ về biểu đồ tần suất histogram 14

Hình 1.7 Histogram tốt 15

Hình 1.8 Histogram của ảnh quá tối 15

Hình 1.9 Histogram của ảnh quá sáng 16

Hình 1.10 Histogram của ảnh quá tương phản 16

Hình 1.11Histogram của ảnh kém tương phản 16

Hình 2.1 Màn hình khởi động LabVIEW 18

Hình 2.2 Khả năng hiển thị của phần mềm Labview 20

Hình 2.3 Giao tiếp với thiết bị ngoại vi 21

Hình 2.4 Bảng giao diện LabVIEW 22

Hình 2.5 Thanh công cụ giao diện LabVIEW 22

Hình 2.6 Các thành phần trong Block Diagram 23

Hình 2.7 Các kiểu dữ liệu trong LabVIEW 24

Hình 2.8 Controls palette 25

Hình 2.9 Icon mặc định và Icon sau khi được tạo 29

Hình 2.10 Cách thức tạo Connector của một VI 30

Hình 2.11 Thư viện DAQ 31

Hình 2.12 Thư viện Advanced và Thư viện Instrument I/O 32

Hình 2.13 Thiết bị DAQ 33

Hình 2.14 Các dạng lựa chọn của thiết bị DAQ 34

Hình 2.15 Mối quan hệ giữa LabVIEW với thiết bị DAQ 35

Hình 2.16 Các phần tử cơ bản trong hệ thống DAQ 35

Hình 2.17 Giao diện Vision Assistant 2017 39

Hình 2.18 Các hàm xử lý ảnh màu 40

Hình 2.19 Các hàm xử lý ngoại quan máy 41

Hình 2.20 Các hàm xử lý ảnh nhị phân 41

Hình 2.21 Các hàm xử lý ảnh xám 42

Hình 2.22 Vision and Monition 42

Trang 14

Hình 2.23 Thư viện thiết bị camera NI-IMAQdx 43

Hình 2.24 Thư viện tiện ích 43

Hình 2.25 Thư viện quản lý ảnh 44

Hình 2.26 Thư viện thị giác máy 44

Hình 2.27 Cấu trúc xử lý ảnh theo phương pháp học mẫu 45

Hình 2.28 Hàm học mẫu 46

Hình 2.29 Hàm nhận dạng vật mẫu 46

Hình 2.30 Hàm học mẫu màu sắc 46

Hình 2.31 Hàm thiết lập thông số học mẫu màu 47

Hình 2.32 Hàm nhận dạng mẫu màu 47

Hình 2.33 Nhận dạng kí tự và chuyển đổi thành chuỗi kí tự 48

Hình 2.33 Hàm load file 48

Hình 2.34 Hàm cài đặt thông số ảnh 49

Hình 2.35 Hàm Parameters 49

Hình 2.36 Hàm đọc kí tự OCR 49

Hình 3.1 Qui trình nhận diện 51

Hình 3.2 Chọn ảnh đưa vào chương trình 52

Hình 3.3 Chuyển màu ảnh 53

Hình 3.4 Chọn hệ màu ảnh 53

Hình 3.5 Chọn công cụ cắt ảnh 54

Hình 3.6 Chọn vùng ảnh cần dùng 54

Hình 3.7 Kết quả quá trình cắt ảnh 55

Hình 3.8 Chọn công cụ xử lý biên 55

Hình 3.9 Thiết lập lấy biên ảnh 56

Hình 3.10 Kết quả quá trình lấy biên ảnh 56

Hình 3.11 Chọn công cụ nhận diện kí tự 57

Hình 3.12 Thiếp lập vùng ảnh cần nhận diện 57

Hình 3.14 Thiết lập tìm các kí tự trong ảnh 58

Hình 3.15 Huấn luyện các kí tự cần nhận diện 59

Hình 3.16 Lưu file Train 59

Hình 3.17 Kết quả quá trình nhận diện kí tự quang học 60

Hình 3.18 Khối Load File 62

Hình 3.19 Tổng quát khối Find Zone 62

Hình 3.20 Khối Overlay 62

Hình 3.21 Tổng quát khối Find Angle 63

Trang 15

Hình 3.22 Tổng quát khối Find All Edge 63

Hình 3.23 Tổng quát khối OCR/OCV 63

Hình 3.24 Khối so sánh mẫu 64

Hình 3.25 Khối xuất thời gian và kết quả 64

Hình 3.26 Khối lưu thời gian và kết quả xử lý 64

Hình 3.27 File lưu kết quả và thời gian xử lý 65

Hình 3.28 Giao diện của chương trình 66

Hình 3.29 Nguyên lí hoạt động(nữa đầu) 68

Hình 3.30 Nguyên lí hoạt động(nữa sau) 69

Hình 3.31 Sơ đồ thuật toán 71

Hình 3.32 Khối Find Zone 72

Hình 3.33 Khối Find Angel 72

Hình 3.34 Khối Find All Edge 73

Hình 3.35 Khối OCR-OCV 74

Hình 4.1 Màn hình chương trình đang xử lý ảnh 77

Hình 4.2 Thư mục Template 78

Hình 4.3 Kết quả của quá trình xử lý 79

Hình 4.4 Lỗi nhận diện thiếu kí tự 80

Trang 16

PLC Programmable Logic Controller

OCR Optical Character Recognition

Trang 17

MỞ ĐẦU

Trong quá trình phát triển của cuộc sống ngày nay, xe máy là phương tiện giao

thông phổ biến rất phổ biến, giúp mọi người đi lại nhanh chóng Từ đó, lưu lượng và

mật độ phương tiện tham gia giao thông ngày một tăng lên Với số l ượng phương tiệngiao thông ngày càng lớn và không ngừng gia tăng thì việc giám sát và quản lý cácphương tiện giao thông gặp rất nhiều khó khăn Vì vậy cần có một hệ thống tự động

để giám sát và quản lý các phương tiện giao thông Để làm được điều này, chúng tacần phải xây dựng một hệ thống mà nó có thể dựa vào các đặc điểm đặc trưng củaphương tiện giao thông để giám sát và quản lí Một trong những hệ thống đó là hệthống nhận dạng biển số xe Đó là một hệ thống có khả năng “đọc” và “hiểu” các biểnsố xe một cách tự động Mỗi chiếc xe đều có đăng ký một biển số để lưu thông trên

đường, biển số là duy nhất Vì vậy nhằm cải thiện tình hình cần có hệ thống hỗ trợ và

đó là hệ thống nhận diện biển số xe Cụ thể hơn chính là đề tài “ỨNG DỤNG XỬ LÝ

ẢNH NHẬN DIỆN BIỂN SỐ XE GẮN MÁY BẰNG PHẦN MỀM LABVIEW”

Dựa vào phần mềm LabVIEW xây dựng hệ thống xử lý ảnh thu thập từ nguồndata có sẵn, xây dựng thư viện và đi theo đó là quá trình tính toán để giao tiếp vớingười vận hành giúp hệ thống có thể nhận diện và xử lý biển số xe

Các hình ảnh ở các chế độ, phần mềm Labview Qua đó nghiên cứu cấu trúctrong Labview nhằm xây dựng một chương trình hoàn chỉnh, đầy đủ và khả thi

 Hình ảnh

- Từ hình ảnh có sẵn tính toán và xử lý ảnh xuống độ phân giải phù hợp để thuận

tiện cho việc xử lý(ảnh đen trắng 8bit)

- Thiết lập các hình ảnh qua xử lý tạo thư viện

- Tìm kiếm hình trong quá trình xử lý

 LabVIEW

- Thu thập ảnh từ nguồn data có sẵn

- Xây dựng chương trình

- Xuất, lưu kết quả sau quá trình xử lý

Việc có nhiều biển số xe với định dạng và độ sáng khác nhau gây khó khăn choviệc nhận dạng Do quá trình nhận diện dựa vào phương pháp xử lý ảnh và trích xuấtbiển số từ ảnh chụp nên độ sáng khác nhau làm tăng độ phức tạp trong quá trình nhậndiện

Do thời gian thực hiện đề tài không cho phép nên người thực hiện thiết kế vềphần mềm(chương trình nhận diện xử lý ảnh) cùng với giới hạn các biển số và điềukiện như sau:

Trang 18

 Biển số có chữ đen, nền trắng, có 2 hàng, số ký tự là 8

 Biển số phải còn nguyên vẹn, không bị tróc sơn hay rỉ sét, không bị che khuất

 Góc nghiêng của biển số không quá 45 so với phương ngang

 Hình chụp biển số không bị m ờ, ký tự biển số còn phân biệt, nhận dạng

 Không bị nhiễu bởi ánh sáng làm ảnh chụp bị chói

 Biển số có chữ đen, nền trắng, có 2 hàng

 Biển số phải còn nguyên vẹn, không bị tróc sơn hay rỉ sét, không bị che khuất

 Hình chụp biển số không bị mờ, kí tự số còn phân biệt, nhận dạng được bằngtrực quan

 Không bị nhiễu do ánh sáng làm ảnh chụp bị chói

 Vị trí góc chụp biển số trong khoảng từ 700 đến 1100

Trang 19

CHƯƠNG 1 TỔNG QUAN VỀ XỬ LÝ ẢNH [1]

1.1 SƠ LƯỢC VỀ XỬ LÝ ẢNH

Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Đây là ngành khoahọc mới so với nhiều ngành khoa học khác nhưng tốc độ phát triển đang rất nhanh,kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt nhất là máy tính chuyên dụngriêng cho lĩnh vực xử lý ảnh

Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượngảnh và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báođược truyền qua cáp từ Luân Đôn đến New York từ những năm 1920 Xử lý tín hiệu làmột trong những môn học quan trọng trong kỹ thuật điện tử, viễn thông và trong toánhọc Nghiên cứu và xử lý tín hiệu kỹ thuật số và analog, giải quyết các vấn đề về lưutrữ, các thành phần bộ lọc, các hoạt động khác trên tín hiệu… Các tín hiệu này baogồm truyền dẫn tín hiệu, âm thanh hoặc giọng nói, hình ảnh, và các tín hiệu khác Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứngdụng Xử lý dữ liệu bằng đồ họa đề cập đến những ảnh nhân tạo, các ảnh này đượcxem xét như là một cấu trúc dữ liệu và được tạo bởi các chương trình Xử lý ảnh sốbao gồm các phương pháp và kỹ thuật biến đổi, để truyền tải hoặc mã hoá các ảnh tựnhiên Mục đích của xử lý ảnh gồm:

 Biến đổi ảnh làm tăng chất lượng ảnh

 Tự động trong việc nhận dạng ảnh, đánh giá các nội dung của ảnh và đoán nhậnảnh

Trong số các phương pháp xử lý tín hiệu kể trên, lĩnh vực giải quyết với các loạitín hiệu trong đó đầu vào là một hình ảnh và đầu ra cũng là một hình ảnh thì sản phẩmđầu ra sẽ được thực hiện trong một quá trình xử lý, đó chính là quá trình xử lý ảnh Nócó thể được chia thành xử lý hình ảnh tương tự và xử lý hình ảnh kỹ thuật số Để dễhình dùng hơn, chúng ta xét 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) 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

Xử lý ảnh là việc xử lý tín hiệu đầu vào là một hình ảnh, chẳng hạn như mộtkhung ảnh hoặc video, đầu ra của xử lý ảnh có thể hoặc là một hình ảnh hoặc là mộttập hợp các điểm hoặc các thông số liên quan đến hình ảnh

Hình 1.1 Cấu trúc xử lý ảnh

Trang 20

Dựa trên các thông số đầu ra đó, người ta có thể tiến hành điều khiển thiết bịtheo ý muốn

Ví dụ: Đếm số viên thuốc trong một vỉ đựng, nếu số thuốc (đầu ra) ít hơn mộtsố thuốc yêu cầu nào đó thì tay robot sẽ tự động bổ sung thêm cho đủ số lượng hoặcgạt vỉ thuốc không đạt yêu cầu ra

Xử lý hình ảnh thường dùng để chỉ xử lý hình ảnh kỹ thuật số, nhưng xử lý ảnhquang học và tương tự cũng có thể xảy ra Trước đây, ảnh thu qua camera là ả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àuhoặc đen trắng được lấy từ camera, sau đó nó được chuyển tiếp thành ảnh số tạo thuậnlợi cho xử lý tiếp theo Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh ; có thể quét từảnh chụp máy quét ảnh

Có thể xem ví dụ minh họa cho quá trình trên:

Hình 1.2 Tiến trình xử lý ảnh

 Phần thu nhận ảnh (Image Acquisition)

- Ảnh có thể nhận qua camera màu hoặc trắng đen 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ũngcó loại camera đã số hóa (như loại CCD-Change Coupled Device) là loại photodiot tạocườ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ấtlượ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,phòng ảnh)

 Tiền xử lý

Sau bộ thu nhận, ảnh có thể nhiều độ tương phản thấp nên cần đưa vào bộ tiền xử

lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độtương phản đê làm rỏ ảnh hơn, nét hơn

 Phân đoạn (Segmentation) hay phân vùng ảnh

Trang 21

- Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn,phân tích nhân dạng ảnh Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và củng

dễ gây lỗi, làm mất độ chính xác của ảnh

- Kết quả nhận dạng phải phụ thuộc rất nhiều vào công đoạn này

 Biểu diễn ảnh

Đầu ra ảnh sau khi 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 các mã liên kết các vùng lân cận Việc biến đổi các số liệu này thànhdạ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ậ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

 Nhận dạng ảnh

Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằngcách so sánh với mẫu chuẩn đã được học (hoặc được lưu) từ trước Theo lý thuyếtnhậ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 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 trongkhoa học và công nghệ là : Nhận dang ký tự (chữ in, chữ viết tay, chữ ký điệntử), nhận dạng văn bản (text), nhận dạng vân tay, nhận dạng mã vạch, nhậndạng mặt người…

Cơ sở

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ềukhâ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 đảmbả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ý ảnhtheo cách con người

1.2 CÁC VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH

1.2.1 Một số khái niệm cơ bản

 Ảnh và điểm ảnh: Điểm ảnh được xem như là dấu hiệu hay cường độsáng tại 1 toạ độ trong không gian của đối tượng và ảnh được xem như là 1 tập hợp cácđiểm ảnh

 Mức xám, màu: Là số các giá trị có thể có của các điểm ảnh của ảnh

Trang 22

 Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹthuật nội suy Kỹ thuật này nhằm tăng cường độ mịn cho ảnh.

 Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng

và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhậndạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử

la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v.v Việc trích chọn hiệuquả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tínhtoán cao và dung lượng nhớ lưu trữ giảm xuống

1.2.4 Nhận diện

Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phânnhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trongnhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì?Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lạivới hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng(vaguely defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnhcủa vân tay, ảnh của một vật nào đó được chụp, một chữ viết, cơ thể người hoặc một

ký đồ tín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫuđó có thể:

 Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tíchphân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một thànhphần của một lớp đã xác định

Trang 23

 Hoặc phân loại không có mẫu (unsupervised classification hayclustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩnđồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưađược định danh.

1.3 CÁC LOẠI TỆP CƠ BẢN TRONG XỬ LÝ ẢNH

Ảnh thu đựơc sau quá trình số hoá có nhiều loại khác nhau phụ thuộc vào kỹthuật số hoá ảnh và các ảnh thu nhận được có thể lưu trữ trên tệp để dùng cho việc xử

lý các bước tiếp theo Sau đây là một số loại tệp cơ bản và thông dụng nhất hiện nay

 4 bytes tiếp theo mô tả kích cỡ của pixel

 2 bytes tiếp mô tả số pixel trên một dòng

 2 bytes cuối cho biết số dòng trong ảnh

Các dòng giống nhau được nén thành một pack Có 4 loại pack sau:

- Loại 1: Gói các dòng giống nhau Quy cách gói tin này 0x00 0x00 0xFFCount 3 bytes đầu cho biết số các dãy giống nhau, bytes cuối cho biết số cácdòng giống nhau

- Loại 2: Gói các dãy giống nhau Quy cách gói này 0x00 Count Bytes thứ haicho số các dãy giống nhau được nén trong gói Độ dài cử dãy được ghi đầufile

- Loại 3: Dãy các pixel không giống nhau, không lặp lại và không nén được.Quy cách như sau: 0x80 Count Bytes thứ hai cho biết độ dài dãy các pixelkhông giống nhau, không nén được

- Loại 4: Dãy các pixel giống nhau Tuỳ theo các bit cao của bytes đầu được bậthay tắt, nếu bit cao được bật(giá trị 1) thì đây là gói nén các bytes chỉ gồm bit

0, số các bytes được nén được tính bởi 7 bit thấp còn lại Nếu bit cao tắt (giátri 0) thì đây là gói nén các bytes toàn bit 1 Số các bytes được nén được tínhbởi 7 bit thấp còn lại Các cảu file IMG phong phú như vậy là do ảnh IMG làảnh đen trắng nên chỉ cần 1 bit cho một pixel thay vì 4 hoặc 8 bit như đã nói ở

Trang 24

trên toàn bộ ảnh chỉ có điểm sáng hoặc tối tương ứng với 1 hoặc 0 Tỷ lệ néncủa file này là khá cao.

1.3.2 File ảnh PCX

Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất Nó sử dụngphương pháp mã loạt dài RLE (Run-Length-Encoded) để nén dữ liệu ảnh Quá trìnhnén và giải nén được thực hiện trên từng dòng ảnh Thực tế, phương pháp giải nénPCX kém hiệu quả hơn so với kiểu IMG Tệp PCX gồm 3 phần: đầu tệp (header), dữliệu ảnh (image data) và bảng màu mở rộng

Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bố nhưsau:

 1 byte : chỉ ra kiểu định dạng Nếu là kiểu PCX/PCC nó luôn có giá trị là0Ah

 1 byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau:

- 0: version 2.5

- 2: version 2.8 với bảng màu

- 3: version 2.8 hay 3.0 không có bảng màu

- 5: version 3.0 có bảng màu

 1 byte: chỉ ra phương pháp mã hoá Nếu là 0 thì mã hoá theo phươngpháp BYTE PACKED, nếu không là phương pháp RLE

 1 byte: số bit cho một điểm ảnh plane

 1 word: toạ độ góc trái trên của ảnh Với kiểu PCX nó có giá trị là (0,0);còn PCC thì khác (0,0)

 1 word: toạ độ góc phải dưới

 1 word: kích thước bề rộng và bề cao ảnh

 1 word: số điểm ảnh

 1 word: độ phân giải màn hình

 1 word

 48 byte: chia thành 16 nhóm, mỗi nhóm 3 byte Mỗi nhóm này chứathông tin về một thanh ghi màu Như vậy ta có 16 thanh ghi màu

 1 byte: không dùng đến và luôn đặt là 0

 1 byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, vớiảnh 256 màu (1 pixel/8 bit) thì số bit plane lại là 1

 1 byte: số bytes cho một dòng quét ảnh

 1 word: kiểu bảng màu

 58 byte: không dùng

Trang 25

Tóm lại, định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác đơngiản, cho phép nén và giải nén nhanh Tuy nhiên vì cấu trúc của nó cố định, nên trongmột số trường hợp nó làm tăng kích thước lưu trữ Và cũng vì nhược điểm này mà mộtsố ứng dụng lại sử dụng một kiểu định dạng khác mềm dẻo hơn: định dạng TIFF(Targed Image File Format) sẽ mô tả dưới đây.

Hình 1.3 Cấu trúc tệp ảnh dạng PCX

1.3.3 Định dạng ảnh GIF(Graphics Interchanger Format)

Cách lưu trữ kiểu PCX có lợi về không gian lưu trữ: với ảnh đen trắng kích thướctệp có thể nhỏ hơn bản gốc từ 5 đến 7 lần Với ảnh 16 màu, kích thước ảnh nhỏ hơnảnh gốc 2-3 lần, có trường hợp có thể xấp xỉ ảnh gốc Tuy nhiên, với ảnh 256 màu thìnó bộc lộ rõ khả năng nén rất kém Điều này có thể lý giải như sau: khi số màu tănglên, các loạt dài xuất hiện ít hơn và vì thế, lưu trữ theo kiểu PCX không còn lợi nữa.Hơn nữa, nếu ta muốn lưu trữ nhiều đối tượng trên một tệp ảnh như kiểu định dạngTIFF, đòi hỏi có một định dạng khác thích hợp

Định dạng ảnh GIF do hãng ComputServer Incorporated (Mỹ) đề xuất lần đầutiên vào năm 1990 Với địng dạng GIF, những vướng mắc mà các định dạng khác gặpphải khi số màu trong ảnh tăng lên không còn nữa Khi số màu càng tăng thì ưu thếcủa định dạng GIF càng nổi trội Những ưu thế này có được là do GIF tiếp cận cácthuật toán nén LZW(Lempel-Ziv-Welch) Bản chất của kỹ thuật nén LZW là dựa vào

sự lặp lại của một nhóm điểm chứ không phải loạt dài giống nhau Do vậy, dữ liệucàng lớn thì sự lặp lại càng nhiều Dạng ảnh GIF cho chất lượng cao, độ phân giải đồhoạ cũng đạt cao, cho phép hiển thị trên hầu hết các phần cứng đồ hoạ Định dạng tổngquát của ảnh GIF như sau:

 Chữ ký của ảnh

 Bộ mô tả hiển thị

 Bản đồ màu tổng thể

Trang 26

 Mô tả một đối tượng của ảnh

- Dấu phân cách

- Bộ mô tả ảnh

- Bản đồ màu cục bộ

- Dữ liệu ảnh

 Ảnh màu

Quá trình giấu tin vào ảnh màu cũng tương tự như với ảnh đen trắng nhưng trướchết ta phải chọn từ mỗi điểm ảnh ra bit có trọng số thấp nhất (LSB) để tạo thành mộtảnh nhị phân gọi là ảnh thứ cấp Sử dụng ảnh thứ cấp này như ảnh môi trường để giấutin, sau khi biến đổi ảnh thứ cấp ta trả nó lại ảnh ban đầu để thu được ảnh kết quả

 Ảnh đa cấp xám

- Đối với ảnh đa cấp xám bảng màu của nó đã có sẵn, tức là những cặp màutrong bảng màu có chỉ số chênh lệch càng ít thì càng giống nhau Vì vậyđối với ảnh đa cấp xám bit LSB của mỗi điểm ảnh là bit cuối cùng củamỗi điểm ảnh

- Quá trình tách bit LSB của ảnh đa cấp xám và thay đổi các bit này bằngthuật toán giấu tin trong ảnh đen trắng sẽ làm chỉ số của điểm màu bị thayđổi tăng hoặc giảm 1 đơn vị, do đó điểm ảnh mới sẽ có độ sáng tối của ômàu liền trước hoặc liền sau ô màu của điểm ảnh cũ Bằng mắt thường rấtkhó có thể nhận thấy sự thay đổi về độ sáng tối này

 Ảnh nhỏ hơn hoặc bằng 8 màu

- Những ảnh thuộc loại này gồm có 16 màu (4 bit màu) và ảnh 256 màu (8bit màu) Khác với ảnh màu, ảnh xám với số bit nhỏ hơn hoặc bằng 8 bitkhông phải luôn luôn được sắp xếp màu bảng màu

- Những màu ở liền kề nhau trong bảng màu có thể rất khác nhau chẳng hạnnhư màu đen với màu trắng vẫn có thể được xếp cạnh nhau

- Vì vậy việc xác định bit LSB của ảnh loại này rất khó Nếu ta chỉ làm nhưđối với ảnh xám, tức là vẫn lấy bit cuối cùng của mỗi điểm ảnh để tạo

Trang 27

thành ảnh thứ cấp thì mỗi thay đổi 0 -> 1 hoặc 1 ->0 trên ảnh thứ cấp cóthể làm cho ảnh màu của điểm ảnh cũ và mới tương đương ứng thay đổirất nhiều dù chỉ số màu của chúng cũng tăng hoặc giảm 1 mà thôi

 Ảnh hightcolor (16 bit màu)

Ảnh 16 bit màu thực tế chỉ sử dụng 15 bit cho mỗi điểm ảnh trong đó 5 bit biểudiễn cường độ tương đối của màu đỏ, 5 bit biểu diễn cường độ tương đối của màuxanh lam, 5 bit biểu diễn cường độ tương đối của màu xanh lơ Còn lại một bit khôngdùng đến là bit cao nhất của byte thứ hai trong mỗi cặp thứ hai byte biểu diễn mộtđiểm ảnh, đó chính là bit LSB của ảnh 16 bit màu Việc thay đổi giá trị của những bitnày sẽ không hề ảnh hưởng tới màu sắc của từng điểm ảnh trong môi trường

 Ảnh true color (24 bit màu)

- Ảnh true color sử dụng 3 byte cho mỗi điểm ảnh, mỗi byte biểu diễn mộtthành phần trong cấu trúc RGB Trong mỗi byte các bit cuối cùng của mỗibyte trong phần dữ liệu ảnh là các bit LSB của ảnh true color

- Để tăng lượng thông tin giấu được vào ảnh môi trường, từ mỗi byte củaảnh true color ra sẽ lấy nhiều hơn một bit để tạo thành ảnh thứ cấp Thôngthường cũng chỉ nên lấy nhiều nhất 4 bit cuối cùng của mỗi byte để ảnhkết quả không bị nhiễu đáng kể, khi đó lượng thông tin tối đa có thể giấutrong ảnh cũng tăng lên gấp bốn lần so với lượng thông tin tối đa giấuđược trong ảnh đó nếu chỉ lấy 1 bit cuối cùng ở từng byte

1.3.5 Cấu trúc ảnh BMP

Để thực hiện việc giấu tin trong ảnh, trước hết ta phải nghiên cứu cấu trúc củaảnh và có khả năng xử lý được ảnh tức là phải số hoá ảnh Quá trình số hoá các dạngảnh khác nhau và không như nhau Có nhiều loại ảnh đã được chuẩn hoá như: JPEG,PCX, BMP… Sau đây là cấu trúc ảnh *.BMP

Mỗi file ảnh BMP gồm 3 phần:

 BitmapHeader (54 byte)

 Palette màu (bảng màu)

 BitmapData (thông tin ảnh)

Cấu trúc cụ thể của ảnh:

 Palette màu (bảng màu): bảng màu của ảnh, chỉ những ảnh lớn hơn hoặc bằng 8bit màu mới có Palette màu

 BitmapData (thông tin ảnh): phần này nằm ngay sau phần palette màu của ảnhBMP Đây là phần chứa giá trị màu của điểm ảnh trong ảnh BMP, các dòng ảnh đượclưu từ dưới lên trên, các điểm ảnh được lưu từ trái sang phải Giá trị của mỗi điểm ảnh

là một chỉ số trỏ tới phần tử màu tương ứng của palette màu

Trang 28

Hình 1.4 BitmapHeader(54 byte)Thành phần BitCount của cấu trúc BitmapHeader cho biết số bit dành cho mỗiđiểm ảnh và số lượng màu lớn nhất của ảnh BitCount có thể nhận các giá trị sau:

 1: Bitmap là ảnh đen trắng, mỗi bit biểu diễn 1 điểm ảnh Nếu bit mang giá trị 0thì điểm ảnh là đen, bit mang giá trị 1 điểm ảnh là điểm trắng

 4: Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit

 8: Bitmap là ảnh 256 màu, mỗi điểm ảnh biểu diễn bởi 1 byte

 16: Bitmap là ảnh highcolor, mỗi dãy 2 byte liên tiếp trong bitmap biểu diễncường độ tương đối của màu đỏ, xanh lá cây, xanh lơ của một điểm ảnh

 24: Bitmap là ảnh true color (224 màu), mỗi dãy 3 byte liên tiếp trong bitmapbiểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ (RGB) của một điểmảnh

Thành phần ColorUsed của cấu trúc BitmapHeader xác định số lượng màu củapalette màu thực sự được sử dụng để hiển thị bitmap Nếu thành phần này được đặt là

0, bitmap sử dụng số màu lớn nhất tương ứng với giá trị của BitCount

1.3.6 Cấu trúc ảnh PNG

Là một dạng hình ảnh sử dụng phương pháp nén dữ liệu mới không làm mất đidữ liệu gốc PNG được tạo ra nhằm cải thiện và thay thế định dạng ảnh GIF với mộtđịnh dạng hình ảnh không đòi hỏi phải có giấy phép sáng chế sử dụng PNG được hỗ

Trang 29

trợ bởi thư viện tham chiếu Libpng, một thư viện nền độc lập bao gồm các hàm của C

PNG là cấu trúc như một chuỗi các thành phần, mỗi thành phần chứa kích thước,kiểu, dữ liệu, và mã sửa lỗi CRC ngay trong nó

Chuỗi được gán tên bằng 4 chữ cái phân biệt chữ hoa chữ thường Sự phân biệtnày giúp bộ giải mã phát hiện bản chất của chuỗi khi nó không nhận dạng được

Với chữ cái đầu, viết hoa thể hiện chuỗi này là thiết yếu, nếu không thì ít cầnthiết hơn Ancillary Chuỗi thiết yếu chứa thông tin cần thiết để đọc được tệp và nếu bộgiải mã không nhận dạng được chuỗi thiết yếu,việc đọc tệp phải được hủy

Về cơ bản, định dạng PNG đem lại cho ta những ưu thế vượt trội hơn so với cácđịnh dạng phổ thông khác hiện nay như JPG, GIF, BMP…Những ưu thế tỏ rõ sứcmạnh hơn khi được sử dụng trong môi trường đồ họa web

 Giảm thiểu dung lượng: Trong tất cả các định dạng ảnh phổ thông hiện nay thìhình ảnh PNG có thể coi là dung lượng nhỏ nhất Điều này rất quan trọng khi sử dụngPNG trong môi trường web

 Độ sâu của màu: Ảnh PNG hỗ trợ đến true color 48bit màu Trong khi đó ảnhgif chỉ ở mức 256 màu

1.4 CÁC ĐỊNH NGHĨA CƠ BẢN VỀ HISTOGRAM

1.4.1 Định nghĩa histogram là gì?

Lược đồ mức xám (histogram) của một ảnh, từ nay về sau ta qui ước gọi là lược

đồ xám, là một hàm cung cấp tần suất xuất hiện của mỗi mức xám (grey level)

Lược đồ xám được biểu diễn trong một hệ toạ độ vuông góc x,y Trong hệ toạ độnày, trục hoành biểu diễn số mức xám từ 0 đến N, N là số mức xám (256 mức trongtrường hợp chúng ta xét) Trục tung biểu diễn số điểm ảnh cho một mức xám (số điểmảnh có cùng mức xám) Cũng có thể biểu diễn khác một chút: trục tung là tỷ lệ số điểmảnh có cùng mức xám trên tổng số điểm ảnh

Trang 30

Hình 1.5 Lược đồ xám của ảnh

Hình 1.6 Một ví dụ về biểu đồ tần suất histogramHistogram cung cấp cho những thông cơ bản, như độ sáng và độ tương phản(contrast) của ảnh Độ tương phản đặc trưng cho sự thay đổi độ sáng của đối tượng sovới nền Có thể nói, độ tương phản là độ nổi của điểm ảnh hay vùng ảnh so với nền Tacó một vài nhận xét về histogram:

 NX1: Histogram tốt có hình ngọn núi với độ cao tăng dần từ trái, cao nhất ởgiữa và thấp nhất ở bên phải Điều đó chứng tỏ số lượng điểm ảnh nhiều nhất là ở độsáng trung bình (Xem Hình 1.7)

Trang 31

Hình 1.7 Histogram tốt

 NX2: Ảnh quá tối, histogram bị nghiêng về bên trái, có một cái cột gần nhưthẳng đứng sát trái (Xem Hình 1.8)

Hình 1.8 Histogram của ảnh quá tối

 NX3: Ảnh quá sáng: histogram bị nghiêng về bên phải, có một cái cột gần nhưthẳng đứng sát phải (Xem Hình 1.9)

Trang 32

Hình 1.9 Histogram của ảnh quá sáng

 NX4: Ảnh quá tương phản: có hai cái cột nằm ở 2 đầu trái phải ( Xem Hình1.10)

Hình 1.10 Histogram của ảnh quá tương phản

 NX5: Ảnh kém tương phản: dải màu bị dồn vào giữa, hai đầu không có gì.(Xem Hình 1.11)

Hình 1.11Histogram của ảnh kém tương phản

Từ lược đồ xám ta có thể suy diễn ra các tính chất quan trọng của ảnh như giá trịxám trung bình hoặc độ tản mạn Qua cách tác động lên điểm ảnh, sự phân bố của biểu

đồ cột được thay đổi theo mục đích Dựa vào lược đồ xám chúng ta có thể xác địnhđược ngưỡng thích hợp cho quá trình phân đoạn hoặc tính được các đại lượng đặctrưng của một ảnh

1.5 PHẠM VI ỨNG DỤNG CỦA XỬ LÝ ẢNH

Xử lý ảnh đã đem lại nhiều ứng dụng trong nhiều lĩnh vực khác nhau: y học,khoa học hình hình sự, khí tượng thuỷ văn, quản lý, giáo dục

Trang 33

CHƯƠNG 2 PHẦN MỀM LABVIEW VÀ XỬ LÝ ẢNH VỚI

LABVIEW [2]

2.1 GIỚI THIỆU LABVIEW

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) là một

phần mềm máy tính được phát triển bởi National Instruments LabVIEW được dùngtrong các phòng thí nghiệm, lĩnh vực khoa học kỹ thuật như điện tử, cơ điện tử, hàngkhông, tự động hóa, điều khiển, hóa sinh, điện tử y sinh ở các nước đặc biệt là Mỹ,Hàn quốc, Nhật Bản

LabVIEW khác với các ngôn ngữ lập trình thông thường khác ở điểm cơ bản là:các ngôn ngữ lập trình khác thường dùng trên cơ chế dòng lệnh, trong khi đóLabVIEW dùng ngôn ngữ lập trình ở dạng sơ đồ khối

Hình 2.1 Màn hình khởi động LabVIEW

2.1.2 Ưu điểm và nhược điểm LabVIEW

 Ưu điểm:

 Xây dựng các dụng cụ điều khiển và hiện thị giống như thật, nhanh chóng, dễdàng

 Lập trình dễ dàng cho các công việc phức tạp

 Tất cả khả năng của LabVIEW đều được nhìn thấy trực quan

 Nhược điểm:

Trang 34

 Khác hoàn toàn những ngôn ngữ lập trình thông thường

 Dễ bị rối trong các biểu đồ quá phức tạp nếu không lên kế hoạch ban đầu đểxây dựng kỹ lưỡng chương trình

2.1.3 Các khả năng chính của LabVIEW

LabVIEW được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toànkhác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal Bằngcách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạnthảo, LabVIEW đã được gọi với tên khác là lập trình G (viết tắt của Graphical) Hiệntại ngoài phiên bản LabVIEW cho các hệ điều hành Window, Linux, hãng NI đã pháttriển các modul LabVIEW cho máy hỗ trợ cá nhân (PDA)

2.1.4 Môi trường phát triển LabVIEW

Phát triển nhanh với công nghệ Express: sử dụng Express VIs và I/O nhanhchóng để tạo ra các ứng dụng đo lường phổ biến mà chúng ta không cần phải lậptrình Với hàng nghìn chương trình minh họa, kiểu module và phân cấp, thư viện giaodiện người sử dụng kéo và thả hàng nghìn chức năng lập sẵn, ngôn ngữ được biêndịch để thực hiện nhanh hơn Đến phát triển lớn, theo hướng nhóm (team-oriented): Ngôn ngữ mở, gỡ rối bằng đồ họa tích hợp, phân phối ứng dụng đơngiản, nhiều công cụ phát triển ở cấp cao, công cụ phát triển nhóm, điều khiển mãnguồn, quản lý đích Thu thập, phân tích và hiển thị lập sẵn Vì LabVIEW cung cấptính kết nối tới hầu hết mọi thiết bị đo, nên bạn có thể dễ dàng kết hợp những ứngdụng LabVIEW mới vào các hệ thống hiện tại Bất chấp mọi yêu cầu của phầncứng, LabVIEW cung cấp một giao diện để kết nối tới I/O một cách dễ dàng Thôngtin chi tiết có tại trang web ni.com/labVIEWtools

2.1.5 Các tín hiệu đo được với LabVIEW

Nhiệt độ, sức căng, độ rung, âm thanh, điện áp, dòng, tần số, ánh sáng, điệntrở, xung, thời gian (giai đoạn), tín hiệu số, thu thập tín hiệu từ các thiết bị bên ngoàinhư cảm biến nhiệt độ, hình ảnh từ webcam, vận tốc của động cơ,

Trang 35

xử lý các tín hiệu thu nhận được để phục vụ các mục đích nghiên cứu hay mục đíchcủa hệ thống mà người lập trình mong muốn.

2.1.7 Hiển thị

Xây dựng các giao diện người dùng một cách nhanh chóng và thẩm mỹ hơnnhiều so với các ngôn ngữ khác như Visual Basic, Matlab Hiển thị dữ liệu baogồm các chức năng: trực quan, tạo báo cáo và quản lý dữ liệu LabVIEW bao gồm cáccông cụ trực quan giúp hiển thị dữ liệu hấp dẫn, trong đó có các tiện ích vẽ biểu đồ

và đồ thị cùng các công cụ trực quan 2D, 3D cài sẵn Nguời sử dụng có thể nhanhchóng cấu hình lại các thuộc tính của phần hiển thị như màu sắc, kích cỡ phông,kiểu đồ thị, quay, phóng to thu nhỏ và quay quét (pan) đồ thị khi đang chạy Thêm vàođó, ta có thể xem và điều khiển VIs qua Internet bằng LabVIEW Đối với việc tạobáo cáo, NI cung cấp một số tùy chọn như công cụ tạo tài liệu, báo cáo dạng HTML,báo cáo dạng Word/Excel và báo cáo tương tác với NI DIA

Hình 2.2 Khả năng hiển thị của phần mềm Labview

2.1.8 Điều khiển

LabVIEW đã tích hợp nhiều công cụ và tính năng hơn giúp kỹ sư điều khiển tựđộng dễ dàng thực hiện các bài toán về điều khiển Cho phép thực hiện các thuật toánđiều khiển như PID, Logic mờ (Fuzzy), một cách nhanh chóng thông qua các chứcnăng tích hợp sẵn trong LabVIEW Cho phép kết hợp với nhiều ngôn ngữ truyềnthống như C, C++

2.1.9 Giao tiếp với thiết bị ngoại vi

Giao tiếp với các thiết bị ngoại vi thông qua nhiều chuẩn giao tiếp thông qua cáccổng giao tiếp: RS232, RS485, USB, PCI, Enthernet

Trang 36

Hình 2.3 Giao tiếp với thiết bị ngoại vi

2.2 NHỮNG KHÁI NIỆM CƠ BẢN CỦA LABVIEW

2.2.1 VI (Vitual Instrument) - Thiết bị ảo

Lập trình Labview được thực hiện trên cơ sở là các thiết bị ảo (VI) Các đốitượng trong các thiết bị ảo được sử dụng để mô phỏng các thiết bị thực, nhưng chúngđược thêm vào bởi phần mềm Các VI tương tự như các hàm trong lập trình bằngngôn ngữ

2.2.2 Front Panel và Block Diagram

Một chương trình trong LabView gồm hai phần chính: một là giao diện vớingười sử dụng (Front Panel), hai là giao diện dạng sơ đồ khối cung cấp mã nguồn(Block Diagram) và các biểu tượng kết nối (Icon/Connector)

2.2.2.1 Front Panel(Bảng giao diện)

Front panel là một panel tương tự như panel của thiết bị thực tế Ví dụ các nútbấm, nút bật, các đồ thị và các bộ điều khiển Từ Front Panel người dùng chạy vàquan sát kết quả có thể dùng chuột, bàn phím để đưa dữ liệu vào sau đó chochương trình chạy và quan sát Front Panel thường gồm các bộ điều khiển(Control) và các bộ hiển thị (Indicator)

 Control là các đối tượng được đặt trên Front Panel để cung cấp dữ liệu chochương trình Nó tương tự như đầu vào cung cấp dữ liệu

Trang 37

 Indicator là đối tượng được đặt trên Front Panel dùng để hiện thị kết quả, nótương tự như bộ phận đầu ra của chương trình.

Hình 2.4 Bảng giao diện LabVIEWNgoài ra bạn vẫn có thể mở bảng giao diện một VI có sẵn trong thư việnLabVIEW nếu đã ở sẵn trong một bảng giao diện bằng cách vào File>>Open

Trong bảng giao diện bao gồm một thanh công cụ của các nút lệnh và các dụngcụ chỉ báo trạng thái mà bạn sử dụng cho quá trình chạy và xử lý các VI

Nó cũng bao gồm những tùy chọn font chữ và tùy chọn phân phối và sắp thànhhàng cho việc soạn thảo các VI

Hình 2.5 Thanh công cụ giao diện LabVIEWTrong đó:

1 Nút chạy chường trình (thanh không sáng – bị vỡ: lỗi, phải sửa lại chươngtrình)

2 Nút chạy lặp

3 Nút dừng cưỡng ép chương trình

4 Nút tạm dừng

5 Text setting (màu sắc, định dạng, kích thước – phông)

6 Gióng đều đối tượng theo hàng dọc và ngang

Trang 38

7 Phân bố các đối tượng

8 Thay đổi kích thước đối tượng

9 Lệnh bổ sung

10 Cửa sổ trợ giúp

2.2.2.2 Block Diagram(Sơ đồ khối)

Block Diagram chứa đựng mã nguồn đồ thị, thường biết như là mã G hoặc mã sơ

đồ khối, cho đến VI chạy như thế nào Mã sơ đồ khối sử dụng đồ thị biểu diễn cácchức năng để điều khiển các đối tượng trên giao diện Các đối tượng trên giao diệnxuất hiện như biểu tượng các thiết bị trên sơ đồ khối Kết nối điều khiển và các đầucủa dụng cụ chỉ thị tới Express VIs, VIs, và các chức năng Dữ liệu chuyển thông quadây dẫn từ các điều khiển đến các VI và các hàm chức năng, từ các VI và các hàmchức năng đến các VI và các hàm chức năng khác, và từ các VI và các hàm chức năngđến các dụng cụ chỉ thị Sự di chuyển của dữ liệu thông qua các nút trên sơ đồ khốixác định mệnh lệnh thực hiện của các VI và các hàm chức năng Sự di chuyển dữ liệunày được biết như lưu đồ lập trình

Cấu trúc của một Block Diagram gồm các thiết bị đầu cuối (Terminal), nút(Node) và các dây nối (wire)

Hình 2.6 Các thành phần trong Block Diagram

Trang 39

 Sự phân cấp

Sức mạnh của LabVIEW định vị trong bản chất sự phân cấp của các VI.Sau khi bạn tạo ra một VI, bạn sử dụng nó như một VI con trong sơ đồ khối của một

VI tầng cao hơn Bạn có thể có một số vô tận bản chất của các tầng trong sự phân cấp

 Các dạng dây nối trên sơ đồ khối

Hình 2.7 Các kiểu dữ liệu trong LabVIEW

2.2.3 Icon & Connector

Icon (biểu tượng): là biểu tượng của VI, được sử dụng khi từ một VI muốn sửdụng chức năng của một VI khác Khi đó VI đó được gọi là SubVI, nó tương đươngnhư một chương trình con trong các ngôn ngữ khác

Connector (đầu nối): là một phần tử của Terminal dùng để nối các đầu vào vàđầu ra của các VI với nhau khi sử dụng Mỗi VI có một Icon mặc định hiển thị trongbảng Icon ở góc trên bên phải cửa sổ Front Palette và Block Diagram

Khi các VI được phân cấp và module hóa thì ta có thể dùng chúng như cácchương trình con Do đó để xây dựng một VI ta có thể chia thành nhiều VI thực hiệncác chức năng đơn giản và cuối cùng kết hợp chúng lại với nhau thành một khối đểthực thi những công việc cụ thể trong một chương trình

2.2.4 Các kỹ thuật lập trình trên LabVIEW:

Khác với những ngôn ngữ lập trình khác, ngôn ngữ lập trình LabVIEW ngoàinhững menu quen thuộc giống như những ngôn ngữ khác LabVIEW còn sử dụng cácbảng: Tools Palette, Controls Palette, Function Palette, chính những bảng này làm choLabVIEW khác với các ngôn ngữ sử dụng những câu lệnh rườm rà khó nhớ Cácbảng đó cung cấp các chức năng để người sử dụng có thể tạo và thay đổi trên FrontPanel và Block Diagram bằng các biểu tượng, các hình ảnh trực quan giúp cho việc

sử dụng trở nên dễ dàng, linh động hơn

Trang 40

2.2.5 Tool palette

Tool Panel xuất hiện trên cả Font Panel và Block Diagram Bảng này cho phépngười sử dụng có thể xác lập các chế độ làm việc đặc biệt của con trỏ chuột Khi lựachọn một công cụ, biểu tượng của con trỏ sẽ được thay đổi theo biểu tượng của côngcụ đó Nếu thiết lập chế độ tự động lựa chọn công cụ và người sử dụng di chuyển contrỏ qua các đối tượng trên Front Panel hoặc Block Diagram, LabVIEW sẽ tự động lựachọn công cụ phù hợp trên bảng Tool Palett

2.2.6 Controls Palette (bảng điều khiển)

Bảng điều khiển chỉ duy nhất xuất hiện trên Front panel Bảng điều khiển chứacác bộ điều khiển (control) và các bộ hiển thị (indicator) Bảng điều khiển đầy đủđược minh họa như hình bên đưới Để mở bảng controls palette ta vào menu View,chọn controls palette

Bảng điều khiển được sử dụng để người sử dụng thiết kế cấu trúc mặt hiển thịgồm các thiết bị ví dụ: các công tắc, các loại đèn, các loại màn hình hiển thị…Với bảng điều khiển này, người sử dụng có thể chọn các bộ thiết bị chuẩn do hãng sảnxuất cung cấp ví dụ công tắc nhưng cũng có thể chọn các thiết bị do người sử dụng tựxây dựng Bảng điều khiển dùng để cung cấp dữ liệu đầu vào và hiển thị kết quả đầura

Hình 2.8 Controls paletteTrên bảng controls palette thể hiện khá phong phú các bộ điều khiển khác nhaunhư trên hình Ta có thể sử dụng tất cả các thanh phần của bảng controls, ở hìnhtrên mục Express đang được mở, sau đây ta xem qua một số bộ điều khiển điểnhình của LabVIEW

 Numeric controls / Indicators

Ngày đăng: 07/03/2024, 15:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w