1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

NHẬN DẠNG HÌNH học của vật THỂ (có code bên dưới)

26 1,3K 22

Đ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

Định dạng
Số trang 26
Dung lượng 1,88 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

NHẬN DẠNG HÌNH học của vật THỂ (có code bên dưới) .............................. NHẬN DẠNG HÌNH học của vật THỂ (có code bên dưới) .............................. NHẬN DẠNG HÌNH học của vật THỂ (có code bên dưới) .............................. NHẬN DẠNG HÌNH học của vật THỂ (có code bên dưới) .............................. NHẬN DẠNG HÌNH học của vật THỂ (có code bên dưới) ..............................

Trang 1

NHẬN DẠNG HÌNH HỌC

CỦA VẬT THỂ

Trang 2

DANH MỤC CÁC TỪ VIẾT TẮT VI

CHƯƠNG 1 GIỚI THIỆU VỀ ẢNH SỐ VÀ XỬ LÝ ẢNH 1

1.1 CÁC KHÁI NIỆM CƠ BẢN VỀ ẢNH 1

1.1.1 Điểm ảnh (Picture Element) 1

1.1.2 Mức xám 2

1.1.3 Độ phân giải (Resolution) 2

1.2 PHÂN LOẠI ẢNH 2

1.2.1 Ảnh nhị phân 2

1.2.2 Ảnh xám 3

1.2.3 Ảnh màu 3

1.3 XỬ LÝ ẢNH VỚI MATLAB 5

1.3.1 Thu nhận ảnh (Image Acquisition) 5

1.3.2 Tiền xử lý (Image Processing) 5

1.3.3 Phân đoạn (Segmentation) 5

1.3.4 Biểu diễn ảnh (Image Representation) 6

1.3.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation) 6

1.3.6 Cơ sở tri thức (Knowledge Base) 6

CHƯƠNG 2 SƠ LƯỢC VỀ MATLAB 7

2.1 MATLAB 7

2.2 DIGITAL IMAGE PROCESSING TOOL 8

Trang 3

TÀI LIỆU THAM KHẢO 16 PHỤ LỤC 17

Trang 4

HÌNH 1-2: ĐIỂM ẢNH 2

HÌNH 1-3:ẢNH NHỊ PHÂN 2

HÌNH 1-4: ẢNH XÁM 3

HÌNH 1-5: HỆ MÀU RGB 4

HÌNH 1-6: HỆ MÀU CMYK 4

HÌNH 1-7: CÁC BƯỚC CƠ BẢN TRONG XỬ LÝ ẢNH 5Y HÌNH 2-1: GIAO DIỆN MATLAB KHI CHẠY ỨNG DỤNG 7

HÌNH 2-2: HÀM IMREAD VÀ IMSHOW ĐỂ HIỂN THỊ ẢNH TRÊN MATLAB 9

HÌNH 2-3: CHUYỂN ĐỔI ẢNH RGB THÀNH ẢNH XÁM 9

HÌNH 2-4: CHUYỂN ĐỔI ẢNH XÁM THÀNH ẢNH NHỊ PHÂN 10

HÌNH 2-5: ẢNH XÁM ĐƯỢC TÁCH BIÊN 10

HÌNH 2-6: ẢNH CỦA ĐỐI TƯỢNG ĐƯỢC LOẠI BỎ CÁC CHI TIẾT KHÔNG CẦN THIẾT 11

HÌNH 3-1: GIAO DIỆN MÔ PHỎNG GUI TRÊN MATLAB 12

HÌNH 3-2: NHẬN DẠNG HÌNH TAM GIÁC 13

HÌNH 3-3: NHẬN DẠNG HÌNH THOI 13

HÌNH 3-4: NHẬN DẠNG HÌNH VUÔNG 14

HÌNH 3-5: NHẬN DẠNG HÌNH TRÒN 14

Trang 5

GPU Graphics Processing Unit

GUI Graphical User Interface

MATLABMatrix Laboratory

Trang 6

CHƯƠNG 1 GIỚI THIỆU VỀ ẢNH SỐ VÀ XỬ LÝ ẢNH

1.1 Các khái niệm cơ bản về ảnh

Ảnh số là tập hợp các điểm ảnh với mức xám dùng để mô tả ảnh sao cho gần vớiảnh thật

Hình 1-1: Ảnh

1.1.1 Điểm ảnh (Picture Element)

Trang 7

Điểm ảnh (pictrure element viết tắt là pixel) là một phần tử của ảnh số có toạ độ (x,y) với độ xám hoặc màu nhất định

Hình 1-2: Điểm ảnh

1.1.2 Mức xám

Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểmđó

1.1.3 Độ phân giải (Resolution)

Độ phân giải (resolution) tức là mật độ điểm ảnh của ảnh đó

Độ phân giải của ảnh càng cao thì bức ảnh mà ta nhìn thấy càng rõ nét

Trang 9

Trong đó, K là độ đậm nhạt của màu, K= min(C, M, Y)

Hình 1-6: Hệ màu CMYK

1.3 Xử lý ảnh với MATLAB

Trang 10

Hình 1-7: Các bước cơ bản trong xử lý ảnh

1.1.6 Thu nhận ảnh (Image Acquisition)

Ảnh được thu từ các thiết bị kĩ thuật số như: máy quay phim, máy quét, ảnh vệ tinh,điện thoại, máy ảnh, sau đó được lưu trữ trên máy tính, ổ cứng hay đĩa mềm,

1.1.7 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 Chẳng hạn như giảm nhiễu, giảm mờ, tăng cường độ tương phản, nâng caochất lượng ảnh,

1.1.8 Phân đoạn (Segmentation)

Là quá trình phân tách nội dung các đối tượng cần khảo sát ra khỏi ảnh Gồm: phânchia các đối tượng tiếp giáp nhau và phân chia các đối tượng riêng biệt thành cácđối tượng con

1.1.9 Biểu diễn ảnh (Image Representation)

Chọn các đặc trưng thích hợp của từng đối tượng để phân chia các lớp đối tượng,sau đó gán nhãn cho từng đối tượng dựa trên thông tin đã được mô tả

Trang 11

Nhận dạng ảnh là quá trình xác định ảnh, gán ý nghĩa cho từng đối tượng đã đượcnhận dạng.

Nội suy là phán đoán theo ý nghĩa của đối tượng cần tìm trên cơ sở nhận dạng.Ảnh được phân loại bằng nhiều cách khác nhau Về nhận dạng, các mô hình toánhọc về ảnh được phân theo hai loại:

 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 như: 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ậndạng mã vạch, nhận dạng mặt người, nhận dạng hình học…

1.1.11 Cơ sở tri thức (Knowledge Base)

Áp dụng công nghệ khoa học, trí tuệ nhận nhân tạo, cơ sở dữ liệu vào quá trình xử

lý ảnh giúp cải thiện quá trình xử lý được thực hiện nhanh chóng, hiệu quả, chínhxác,

Trang 12

CHƯƠNG 2 SƠ LƯỢC VỀ MATLAB

1.4 MATLAB

MATLAB viết tắt của từ tiếng anh Matrix Laboratory là một môi trường tính toán

số và lập trình, được thiết kế bởi công ty MathWorks MATLAB cho phép tính toán

số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo cácgiao diện người dùng và liên kết với những chương trình máy tính viết trên nhiềungôn ngữ lập trình khác MATLAB giúp đơn giản hóa việc giải quyết các bài toántính toán kĩ thuật so với các ngôn ngữ lập trình truyền thống như C, C++, vàFortran…

MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh, truyềnthông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính,hay tính toán sinh học

Giao diện của MATLAB khi chạy ứng dụng:

Trang 13

1.5 Digital image processing tool

Digital image processing tool là hộp công cụ cung cấp một cách toàn diện các thuậttoán tham chiếu và ứng dụng để xử lý, phân tích và phát triển thuật toán Có thểthực hiện phân đoạn hình ảnh, tăng cường hình ảnh, giảm nhiễu, giảm mờ, chuyểnđổi hình ảnh, đăng ký hình ảnh và xử lý hình ảnh 2D hoặc 3D

Ứng dụng hộp công cụ xử lý hình ảnh cho phép tự động hóa quy trình xử lý hìnhảnh Có thể tương tác phân đoạn dữ liệu hình ảnh, so sánh hình ảnh và xử lý hàngloạt các tập dữ liệu theo mảng Các chức năng và ứng dụng hình ảnh cho phép tạokhối 2D 3D và video, điều chỉnh độ tương phản, tạo biểu đồ và xử lý thuộc tínhtừng đối tượng

1.6 Các hàm được sử dụng trong đề tài

Trang 14

Hình 2-2: Hàm imread và imshow để hiển thị ảnh trên MATLAB

 Rgb2gray()

Hàm rgb2gray() chuyển đổi hình ảnh RGB thành ảnh xám, bằng cách loại bỏ cácthông tin màu sắc và độ bão hòa, nhưng vẫn giữ độ sáng

Trang 15

 im2bw()

Hàm im2bw() chuyển đổi các hình ảnh màu xám sang một hình nhị phân Hay tạomột ảnh nhị phân từ một ảnh cường độ, ảnh chỉ số hay ảnh RGB trên cơ sở củangưỡng ánh sáng

Hình 2-4: Chuyển đổi ảnh xám thành ảnh nhị phân

 Edge ()

Hàm edge() bộ lọc biên ảnh dựa trên ảnh xám Gồm các bộ lọc biên khác nhau:sobel, roberts, canny, prewitt,

Hình 2-5: Ảnh xám được tách biên

Trang 16

Xóa các chi tiết nhỏ không cần thiết, lấp các khoảng trống của đối tượng cần tìm.bwe = bwareaopen(bwe,30);

sel = strel('disk',2);

bwe = imclose(bwe,sel);

bwe = imfill(bwe,'holes');

Hình 2-6: Ảnh của đối tượng được loại bỏ các chi tiết không cần thiết

Truy vấn để đo các thuộc tính của đối tượng chẳng hạn như tâm, diện tích tam = regionprops(la, 'centroid');

dtich = regionprops(la, 'area');

Công thức toán học thực hiện xác định cho từng đối tượng:

square = c/(4*b^2);

Trang 17

CHƯƠNG 3 KẾT QUẢ MÔ PHỎNG TRÊN MATLAB

1.7 Giao diện GUI trên MATLAB

Đồ thị 1 hiển thị ảnh đầu vào

Đồ thị 2 hiển thị ảnh của đối tượng được tách biên,xóa các chi tiết không cần thiết

và fill in các khoảng trống để được khung của đối tượng cần tìm

Đồ thị 3 hiển thị đối tượng đã được xử lý nhận dạng

Hình 3-1: Giao diện mô phỏng GUI trên MATLAB

1.8 Mô phỏng trên MATLAB

Trang 18

Hình 3-2: Nhận dạng hình tam giác

Hình 3-3: Nhận dạng hình thoi

Trang 19

Hình 3-4: Nhận dạng hình vuông

Hình 3-5: Nhận dạng hình tròn

Trang 20

CHƯƠNG 4 NHẬN XÉT

1.9 Nhận xét

Giao diện GUI mô phỏng đơn giản

Nhận dạng các vật thể có hình dạng phổ biến như hình vuông, hình chữ nhật, hìnhtròn, hình tam giác,

Chưa nhận dạng được các vật thể có hình dạng phức tạp

Kết quả mô phỏng chưa đạt được đồ hoàn hiện cao nhất

1.10 Kết luận

Kết quả mô phỏng thực hiện đúng yêu cầu của đề tài đưa ra

Giúp sinh viên vận dụng kiến thức đã học áp dụng vào thực tế

Giúp sinh viên tìm hiểu học hỏi thêm nhiều lĩnh vực

1.11 Hướng phát triển

Cải tiến, phát triển để có thể nhận dạng các vật thể có hình dạng phức tạp hơn chẳnghạn như hình trụ, hình nón, hình quạt,hình cầu,

Phát triển để có thể nhận dạng các vật thể ở môi trường thực tế

Thiết kế giao diện GUI mô phỏng sao cho nhìn tinh tế hơn

Hoàn thiện để đạt độ chính xác cao nhất có thể

Trang 21

TÀI LIỆU THAM KHẢO

Trang 22

PHỤ LỤC

Code của chương trình:

function pushbutton1_Callback(hObject, eventdata, handles)

[filename, pathname] = uigetfile({'*.bmp';'*.jpg';'*.gif';'*.*'}, 'Pick an Image File');

%search anh tu kho du lieu

%loc bien anh tu anh xam

%thao tac thuc hien de xoa cac chi tiet <30 pixel nham xoa cac chi tiet

Trang 23

%thuc hien thao tac chuyen anh goc thanh anh xam

%loc bien anh anh xam

%thuc hien de xoa cac chi tiet nho 30 pixel nham xoa cac chi tiet

%thua khong can thiet

%dung ham strel khoi tao mot hinh dia, sau do fill vao khung trong de

%duoc khung anh can tim

la = bwlabel(bwe); %danh dau tung doi tuong tu anh vua tim duoc bien

%tim tam va dien tich cua doi tuong

tam = regionprops(la, 'centroid');

dtich = regionprops(la, 'area');

Trang 25

text(tam(k).Centroid(1),tam(k).Centroid(2),'HINH TAM GIAC DEU'); end

end

function pushbutton5_Callback(hObject, eventdata, handles)

global i; %bien trung gian i khoi tao cho toan bo chuong trinh

Trang 26

Perimeter = STATS(i).Perimeter;

Roundness=(4*Area*pi)/(Perimeter.^2);

if(Roundness > 0.8)

text(BB(1),BB(2),'HINH TRON','color','black'); elseif(length(lines) == 3)

text(BB(1),BB(2),'HINH TAM GIAC','color','black'); elseif(length(lines) == 4)

text(BB(1),BB(2),'HINH CHU NHAT','color','black'); elseif(length(lines) == 5)

text(BB(1),BB(2),'HINH NGU GIAC','color','black');

Ngày đăng: 09/03/2018, 19:28

TỪ KHÓA LIÊN QUAN

w