Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 100 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
100
Dung lượng
5,69 MB
Nội dung
Tài liệu hướng dẫn học matlab dành cho môn xử lý ảnh hay Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành CHƢƠNG I: TÌM HIỂU CƠ BẢN VỀ MATLAB VÀ GUI I) Cơ Matlab: 1) Giới thiệu chung Matlab: Matlab công cụ tính tốn kỹ thuật, đặc biệt tốn ma trận Matlab cịn cung cấp toolboxes chuyên dụng để giải vấn đề cụ thể xử lý ảnh, xử lý số tín hiệu, neuron, mô phỏng… Matlab cung cấp Image Processing toobox, chuyên xử lý ảnh Có thể nói Matlab cơng cụ lợi hại giúp cho việc thực giải thuật xử lý ảnh nhanh chóng dễ hiểu 2) Khởi động Matlab: 2.1) Mở chƣơng trình: -Click vào biểu tượng để mở chương trình 2.2) Nhập lệnh Matlab: - Cửa sổ Command line ra, nơi nhập lệnh Matlab đưa kết - Lệnh thực thể kết thực thi hình Vd: >> 5+3 ans = - Trong nhiều trường hợp ta không muốn thể kết sau gõ lệnh phải thêm dấu “;” 2.3) Sử dụng công cụ giúp đỡ: -Đánh lệnh help ten_lenh để biết cách sử dụng cơng dụng ten_lenh Ví dụ: help convert -Nếu khơng biết xác tên lệnh gì, ta dùng lệnh lookfor -Ví dụ: lookfor convert cho ta danh sách lệnh có từ convert phần trợ giúp Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành 3) Phép toán với vector ma trận: 3.1) Các tốn tử: -Trong Matlab, khơng cần khai báo biến Matlab phân biệt biến chữ hoa thường Ví dụ: A a hai biến khác -Các phép toán số học: +,-,*,/,\(chia đảo), ^ -Các toán tử quan hệ :< , , >= , == , ~= -Các toán tử logic : & , | (or) , ~ (not) -Các : pi 3.14159265 i số ảo j tương tự i eps sai số 2-52 inf vô lớn NaN Not a number 3.2) Làm việc với vector ma trận: -Trong Matlab, tất đối tượng xem ma trận Một chữ số ma trận 1*1 Một vector ma trận hàng hay cột Ví dụ: >> a=[5 10 2;10 4; 5] a= 10 10 2 -Chỉ số : Phần tử hàng i cột j ma trận có kí hiệu A(i,j) Tuy nhiên ta tham chiếu tới phần tử mảng nhờ số A(k) Ví dụ: A(6) tham chiếu A(3,2) -Toán tử “:” toán tử quan trọng, xuất nhiều dạng khác Ví dụ: >> 5:10 Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành ans = 10 >> 1:2:10 ans= A(:,j) để trích cột thứ j A A(i,:) để trích hàng thứ i A(k:l,m:n) trích ma trận A V(i:j) trích phần vector V Ví dụ: >> A=[2 6; 5; 4]; >> A(3,:) ans = -Chuyển vị: Dùng dấu „ để tạo ma trận chuyển vị Ví dụ: >>a=[1 3; 4] a= >> a„ ans = -Phép toán số học với ma trận: Cộng, trừ ma trận: >> a=[2 3]; Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành >> b=[1 2]; >> a+b ans = Nhân hai ma trận: >> a*b„ ans = >> a.*b ans = Chia thành phần ma trận cho ma trận khác: >> a./b ans = 2.0000 1.5000 Lũy thừa ma trận: >> a.^2 ans = >> c=[1 2; 4]; >> c^2 ans = 10 15 22 -Ma trận đặc biệt: zeros(m,n): ma trận toàn eye(n):ma trận đơn vị Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành ones(m,n): Ma trận tồn 4) Lập trình matlab: 4.1) Biểu thức điều kiện: Gần giống C -If, else , elseif -switch( thực thi nhóm lệnh) 4.2) Vòng lập: -for, while 5)Hàm m-file: Hàm m-file chương trình yêu cầu đối số ngõ vào trả đối số ngõ Cú pháp: function[outputArgs]=function_name(inputArgs) -Chú thích(đặt sau dấu %, thích dùng lệnh help) -Các lệnh -return; Phải lưu lại với tên giống tên hàm Ví dụ:Vẽ hàm sau khoảng [-10,10] Giải: function f = function1(x) y = 1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6 ; Lưu lại với tên function1.m >>fplot(„function1‟,[-10,10]); 6)Vẽ hình Matlab: -Matlab cung cấp nhiều hàm để biểu diễn đồ thị 2D 3D plot: vẽ đồ thị 2D plot3: vẽ đồ thị 3D Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành loglog: vẽ đồ thị trục logarit semilogx, semilogy: vẽ đồ thị với trục logarit -Sử dụng hàm figure để tạo nhiều cửa sổ hình vẽ -Sử dụng lệnh subplot để vẽ nhiều hình cửa sổ -Hàm thích hình vẽ: title: Nhãn hình vẽ xlabel, ylabel,zlabel: nhãn trục legend: thêm thích vào hình vẽ Ví dụ: x = -pi:.1:pi; y = sin(x); >>plot(x,y) xlabel('t = to 2\pi','Fontsize',16) ylabel('sin(t)','Fontsize',16) title('\it{Gia tri cua sin tu zero den pi}','Fontsize',16) II) Matlab GUI: 1) Giới thiệu: Gui-là giao diện hình ảnh chương trình Gui-bao gồm nút nhấn, hộp liệt kê, trượt, menu… chúng cung cấp cho người dùng sử dụng môi trường làm việc thân thiện để họ tập trung vào ứng dụng chương trình tìm hiểu cách thức làm việc chương trình Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành Để mở công cụ tạo Gui : File New GUI Khi lưu giao diện vừa tạo, Matlab tạo hai file có tên khác phần mở rộng: - File có phần mở rộng fig chứa nội dung giao diện - File có phần mở rộng m chứa đoạn mã liên quan đến giao diện Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành Trang Báo cáo đồ án ĐTVT1 GVHD : Bùi Minh Thành Khi thiết kế thành phần Gui ta cần thiết lập thuộc tính cho thành phần Để thiết lập thuộc tính ta chọn mục “ Property Inspector” công cụ right-click vào đối tượng chọn mục “Inspector Properties” Hai thuộc tính quan trọng mà ta cần xác lập “String Property” “ Tag Property” - String property : dòng ký tự xuất đối tượng - Tag property : tên đối tượng Khi click chuột vào đối tượng, Matlab gọi hàm tương ứng với đối tượng Tên hàm tên đối tượng cộng với “_Callback” 2) Các hàm thƣờng đƣợc sử dụng Gui: Set : Thay đổi giá trị thuộc tính đối tượng giao diện set(handles.TextBox,‟String‟,str) Get : Truy xuất giá trị thuộc tính đối tượng giao diện get(handles.EditBox,‟String‟) Ngồi cịn có hàm axes, guide, num2str(), str2num()… Trang