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

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

Đ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

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) ..............................

ĐỒ ÁN NHẬN DẠNG HÌNH HỌC CỦA VẬT THỂ MỤC LỤC DANH MỤC CÁC HÌNH VẼ V DANH MỤC CÁC TỪ VIẾT TẮT VI CHƯƠNG GIỚI THIỆU VỀ ẢNH SỐ VÀ XỬ LÝ ẢNH 1.1 CÁC KHÁI NIỆM CƠ BẢN VỀ ẢNH 1.1.1 Điểm ảnh (Picture Element) .1 1.1.2 Mức xám 1.1.3 Độ phân giải (Resolution) .2 1.2 PHÂN LOẠI ẢNH 1.2.1 Ảnh nhị phân .2 1.2.2 Ảnh xám 1.2.3 Ảnh màu 1.3 XỬ LÝ ẢNH VỚI MATLAB .5 1.3.1 Thu nhận ảnh (Image Acquisition) 1.3.2 Tiền xử lý (Image Processing) 1.3.3 Phân đoạn (Segmentation) 1.3.4 Biểu diễn ảnh (Image Representation) 1.3.5 Nhận dạng nội suy ảnh (Image Recognition and Interpretation) 1.3.6 Cơ sở tri thức (Knowledge Base) CHƯƠNG SƠ LƯỢC VỀ MATLAB 2.1 MATLAB 2.2 DIGITAL IMAGE PROCESSING TOOL 2.3 CÁC HÀM ĐƯỢC SỬ DỤNG TRONG ĐỀ TÀI CHƯƠNG KẾT QUẢ MÔ PHỎNG TRÊN MATLAB 12 3.1 GIAO DIỆN GUI TRÊN MATLAB 12 3.2 MÔ PHỎNG TRÊN MATLAB 13 CHƯƠNG NHẬN XÉT 15 4.1 NHẬN XÉT 15 4.2 KẾT LUẬN .15 4.3 HƯỚNG PHÁT TRIỂN .15 TÀI LIỆU THAM KHẢO 16 PHỤ LỤC 17 DANH MỤC CÁC HÌNH HÌNH 1-1: ẢNH .1 HÌNH 1-2: ĐIỂM ẢNH HÌNH 1-3:ẢNH NHỊ PHÂN HÌNH 1-4: ẢNH XÁM HÌNH 1-5: HỆ MÀU RGB HÌNH 1-6: HỆ MÀU CMYK 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 HÌNH 2-2: HÀM IMREAD VÀ IMSHOW ĐỂ HIỂN THỊ ẢNH TRÊN MATLAB 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 VNG 14 HÌNH 3-5: NHẬN DẠNG HÌNH TRỊN 14 DANH MỤC CÁC TỪ VIẾT TẮT GPU Graphics Processing Unit GUI Graphical User Interface MATLABMatrix Laboratory ĐỒ ÁN Trang 1/21 CHƯƠNG GIỚI THIỆU VỀ ẢNH SỐ VÀ XỬ LÝ ẢNH 1.1 Các khái niệm ảnh Ảnh số tập hợp điểm ảnh với mức xám dùng để mô tả ảnh cho gần với ảnh thật Hình 1-1: Ảnh 1.1.1 Điểm ảnh (Picture Element) Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 2/21 Điểm ảnh (pictrure element viết tắt pixel) phần tử ảnh số có toạ độ (x, y) với độ xám màu định Hình 1-2: Điểm ảnh 1.1.2 Mức xám Mức xám điểm ảnh cường độ sáng gán giá trị số điểm 1.1.3 Độ phân giải (Resolution) Độ phân giải (resolution) tức mật độ điểm ảnh ảnh Độ phân giải ảnh cao ảnh mà ta nhìn thấy rõ nét 1.2 Phân loại ảnh 1.1.3 Ảnh nhị phân Ảnh nhị phân ảnh mà mức xám điểm ảnh có giá trị 0, biểu diễn bit Hình 1-3:Ảnh nhị phân Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 3/21 1.1.4 Ảnh xám Ảnh xám ảnh có giá trị mức xám nằm khoảng từ đến 255, điểm ảnh biểu diễn byte Hình 1-4: Ảnh xám 1.1.5 Ảnh màu  Hệ màu RGB: RGB từ viết tắt tiếng Anh chế hệ màu cộng (additive light), sử dụng phổ biến để hiển thị màu hình ti vi, monitor máy tính, điện thoại di động, camera kỹ thuật số Bao gồm màu: R = Red (đỏ), B = Blue (xanh dương), G = Green (xanh lá) Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 4/21 Hình 1-5: Hệ màu RGB  Hệ màu CMY phần bù hệ màu RGB  Hệ màu CMYK: CMYK từ viết tắt tiếng Anh chế hệ màu trừ (subtractive paint), sử dụng phổ biến in ấn Bao gồm màu: C = Cyan (xanh), M = Magenta (hồng), Y = Yellow (vàng), K = Black (Đen) Trong đó, K độ đậm nhạt màu, Hình 1-6: Hệ màu CMYK 1.3 Xử lý ảnh với MATLAB Nhận Dạng Hình Học Của Vật Thể K= min(C, M, Y) ĐỒ ÁN Trang 5/21 Hình 1-7: Các bước xử lý ảnh 1.1.6 Thu nhận ảnh (Image Acquisition) Ảnh thu từ 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 lưu trữ máy tính, ổ cứng hay đĩa mềm, 1.1.7 Tiền xử lý (Image Processing) Là trình sử dụng kỹ thuật xử lý ảnh để làm ảnh tốt lên theo mục đích sử dụng Chẳng hạn giảm nhiễu, giảm mờ, tăng cường độ tương phản, nâng cao chất lượng ảnh, 1.1.8 Phân đoạn (Segmentation) Là trình phân tách nội dung đối tượng cần khảo sát khỏi ảnh Gồm: phân chia đối tượng tiếp giáp phân chia đối tượng riêng biệt thành đối tượng 1.1.9 Biểu diễn ảnh (Image Representation) Chọn đặc trưng thích hợp đối tượng để phân chia lớp đối tượng, sau gán nhãn cho đối tượng dựa thông tin mô tả 1.1.10 Nhận dạng nội suy ảnh (Image Recognition and Interpretation) Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 7/21 CHƯƠNG SƠ LƯỢC VỀ MATLAB 1.4 MATLAB MATLAB viết tắt từ tiếng anh Matrix Laboratory mơi trường tính tốn số lập trình, thiết kế cơng ty MathWorks MATLAB cho phép tính tốn số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực thuật toán, tạo giao diện người dùng liên kết với chương trình máy tính viết nhiều ngơn ngữ lập trình khác MATLAB giúp đơn giản hóa việc giải tốn tính tốn kĩ thuật so với ngơn ngữ lập trình truyền thống C, C++, Fortran… MATLAB sử dụng nhiều lĩnh vực, bao gồm xử lý tín hiệu ảnh, truyền thô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 tốn sinh học Giao diện MATLAB chạy ứng dụng: Hình 2-1: Giao diện MATLAB chạy ứng dụng Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 8/21 1.5 Digital image processing tool Digital image processing tool hộp công cụ cung cấp cách tồn diện thuật tốn tham chiếu ứng dụng để xử lý, phân tích phát triển thuật tốn Có thể thực 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 xử lý hình ảnh 2D 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 liệu hình ảnh, so sánh hình ảnh xử lý hàng loạt tập liệu theo mảng Các chức ứng dụng hình ảnh cho phép tạo khối 2D 3D video, điều chỉnh độ tương phản, tạo biểu đồ xử lý thuộc tính đối tượng 1.6 Các hàm sử dụng đề tài  Imread() Hàm imread() đọc file thành ma trận MATLAB trợ giúp nhiều định dạng đồ hoạ thông dụng sau: bmp, jpg, jpeg, png, tiff, gif,…  Imshow() Hàm imshow() hiển thị hình ảnh MATLAB, hình ảnh hiển thị định dạng tiêu chuẩn 8-bit Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 9/21 Hình 2-2: Hàm imread imshow để hiển thị ảnh MATLAB  Rgb2gray() Hàm rgb2gray() chuyển đổi hình ảnh RGB thành ảnh xám, cách loại bỏ thông tin màu sắc độ bão hòa, giữ độ sáng Hình 2-3: Chuyển đổi ảnh RGB thành ảnh xám Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 10/21  im2bw() Hàm im2bw() chuyển đổi hình ảnh màu xám sang hình nhị phân Hay tạo ảnh nhị phân từ ảnh cường độ, ảnh số hay ảnh RGB sở ngưỡng ánh sáng Hình 2-4: Chuyển đổi ảnh xám thành ảnh nhị phân  Edge () Hàm edge() lọc biên ảnh dựa ảnh xám Gồm lọc biên khác nhau: sobel, roberts, canny, prewitt, Hình 2-5: Ảnh xám tách biên Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 11/21 Xóa chi tiết nhỏ không cần thiết, lấp khoảng trống đố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 đối tượng loại bỏ chi tiết không cần thiết Truy vấn để đo thuộc tính đối tượng chẳng hạn tâm, diện tích tam = regionprops(la, 'centroid'); dtich = regionprops(la, 'area'); Cơng thức tốn học thực xác định cho đối tượng: square = c/(4*b^2); rectangle=c/(4*b*sqrt(a^2-b^2)); triangle=(c*sqrt(3))/((a+b)^2); ellip =c/(a*b*pi); diamond= (c*sqrt( a^2 - b^2 )) / (2*a^2*b); Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 12/21 CHƯƠNG KẾT QUẢ MÔ PHỎNG TRÊN MATLAB 1.7 Giao diện GUI MATLAB Đồ thị hiển thị ảnh đầu vào Đồ thị hiển thị ảnh đối tượng tách biên,xóa chi tiết khơng cần thiết fill in khoảng trống để khung đối tượng cần tìm Đồ thị hiển thị đối tượng xử lý nhận dạng Hình 3-1: Giao diện mô GUI MATLAB 1.8 Mô MATLAB Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 13/21 Hình 3-2: Nhận dạng hình tam giác Hình 3-3: Nhận dạng hình thoi Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 14/21 Hình 3-4: Nhận dạng hình vng Hình 3-5: Nhận dạng hình tròn Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 15/21 CHƯƠNG NHẬN XÉT 1.9 Nhận xét Giao diện GUI mô đơn giản Nhận dạng vật thể có hình dạng phổ biến hình vng, hình chữ nhật, hình tròn, hình tam giác, Chưa nhận dạng vật thể có hình dạng phức tạp Kết mơ chưa đạt đồ hồn cao 1.10 Kết luận Kết mô thực yêu cầu đề tài đưa 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 để nhận dạng vật thể có hình dạng phức tạp chẳng hạn hình trụ, hình nón, hình quạt,hình cầu, Phát triển để nhận dạng vật thể mơi trường thực tế Thiết kế giao diện GUI mô cho nhìn tinh tế Hồn thiện để đạt độ xác cao Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 16/21 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Giáo trình xử lý ảnh (biên soạn PGS.TS Nguyễn Quang Hoan) [2] Mathworks.com [3] Matlabthayhai.info [4] Vutienit.com Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 17/21 PHỤ LỤC Code 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 img = imread([pathname,filename]); %doc anh vao axes(handles.axes1); imshow(img); %hien thi anh vao tren thi handles.img = img; % bien trung gian cho chuong trinh guidata(hObject, handles); function pushbutton3_Callback(hObject, eventdata, handles) global i; %bien trung gian i khoi tao cho toan bo chuong trinh img = handles.img; axes(handles.axes2); xam=rgb2gray(img); %thao tac thuc hien chuyen doi anh xam tu anh anh goc bwe=edge(xam); %loc bien anh tu anh xam %thao tac thuc hien de xoa cac chi tiet 0.95 ) text(tam(k).Centroid(1),tam(k).Centroid(2),'HINH VUONG'); elseif (elip < 1.05 ) & (elip > 0.95 ) text(tam(k).Centroid(1),tam(k).Centroid(2),'HINH ELIP'); elseif (thoi < 1.05 ) & (thoi > 0.95 ) text(tam(k).Centroid(1),tam(k).Centroid(2),'HINH THOI'); elseif ((chunhat 0.95)) text(tam(k).Centroid(1),tam(k).Centroid(2),'HINH CHU NHAT'); elseif (tamgiacdeu < 1.05 ) & (tamgiacdeu > 0.95 ) Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 20/21 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 img = handles.img; axes(handles.axes2); xam=rgb2gray(img); bwe=edge(xam); bwe = bwareaopen(bwe,30); sel = strel('disk',2); bwe = imclose(bwe,sel); bwe = imfill(bwe,'holes'); imshow(bwe); handles.bwe = bwe; img = handles.img; axes(handles.axes3); format long; outlined_img = img; img = im2bw(img);% chuyen anh nhi phan img = edge(img); for mm = 1:size(outlined_img,1) for nn = 1:size(outlined_img,2) if ((img(mm,nn) == 1)) outlined_img(mm,nn,:) = [255 0]; % duong vien mau xung quanh doi tuong end end end Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 21/21 CC = bwconncomp(img); STATS = regionprops(CC, 'all'); imshow(outlined_img); hold on; % imshow(img);hold on; for i = 1:CC.NumObjects BB = STATS(i).BoundingBox; BW = STATS(i).Image BW = bwmorph(BW,'diag'); [H,T,R] = hough(BW); P = houghpeaks(H,5,'threshold',ceil(0.3*max(H(:)))); lines = houghlines(BW,T,R,P,'FillGap',5,'MinLength',8); Area = STATS(i).FilledArea; 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'); else text(BB(1),BB(2),'KHONG RO','color','black'); end end Nhận Dạng Hình Học Của Vật Thể ... nhận dạng Hình 3-1: Giao diện mô GUI MATLAB 1.8 Mô MATLAB Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 13/21 Hình 3-2: Nhận dạng hình tam giác Hình 3-3: Nhận dạng hình thoi Nhận Dạng Hình Học Của. .. Của Vật Thể ĐỒ ÁN Trang 14/21 Hình 3-4: Nhận dạng hình vng Hình 3-5: Nhận dạng hình tròn Nhận Dạng Hình Học Của Vật Thể ĐỒ ÁN Trang 15/21 CHƯƠNG NHẬN XÉT 1.9 Nhận xét Giao diện GUI mô đơn giản Nhận. .. Nhận xét Giao diện GUI mô đơn giản Nhận dạng vật thể có hình dạng phổ biến hình vng, hình chữ nhật, hình tròn, hình tam giác, Chưa nhận dạng vật thể có hình dạng phức tạp Kết mơ chưa đạt đồ hồn

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

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC HÌNH

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

  • 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

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

      • 1.1.2 Mức xám

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

      • 1.2 Phân loại ảnh

        • 1.1.3 Ảnh nhị phân

        • 1.1.4 Ảnh xám

        • 1.1.5 Ảnh màu

        • 1.3 Xử lý ảnh với MATLAB

          • 1.1.6 Thu nhận ảnh (Image Acquisition)

          • 1.1.7 Tiền xử lý (Image Processing)

          • 1.1.8 Phân đoạn (Segmentation)

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

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

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

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

            • 1.4 MATLAB

            • 1.5 Digital image processing tool

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

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

              • 1.7 Giao diện GUI trên MATLAB

              • 1.8 Mô phỏng trên MATLAB

              • CHƯƠNG 4. NHẬN XÉT

                • 1.9 Nhận xét

Tài liệu cùng người dùng

Tài liệu liên quan