Matlab tích hợp được việc tính toán, thể hiện tr n.ập trình thực hành bậc cao được sử dụng để 1.2.1 D li u ữ liệu của Matlab, các ứng dụng ệu chung về phần mềm Matlab D li u c a Matlab t
Trang 11 Gi i thi u chung v ph n m m Matlab ới thiệu chung về phần mềm Matlab ệu chung về phần mềm Matlab ề phần mềm Matlab ần mềm Matlab ề phần mềm Matlab
1.1 Khái ni m v Matlab ệu chung về phần mềm Matlab ề phần mềm Matlab
Matlab là m t ngôn ng l p trình th c hành b c cao đột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ược sử dụng để ử dụng để ụng để c s d ng đ ể
gi iải các bài toán v kỹ thu t Matlab tích h p đề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ợc sử dụng để ược sử dụng để c vi c tính toán, th hi n ệc tính toán, thể hiện ể ệc tính toán, thể hiện
k t qu , choết quả, cho ải phép l p trình, giao di n làm vi c r t d dàng cho ngập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ệc tính toán, thể hiện ất dễ dàng cho người sử ễ dàng cho người sử ười sử ử dụng để i s
d ng D li u cùng v iụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ới th vi n đư ệc tính toán, thể hiện ược sử dụng để ập trình thực hành bậc cao được sử dụng để c l p trình s n cho phép ngẵn cho phép người sử ười sử ử dụng để i s
d ng có th có đụng để ể ược sử dụng để c nh ng ng d ngữ lập trình thực hành bậc cao được sử dụng để ứng dụng ụ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ử dụng để ụng để ẵn cho phép người sử ư ệc tính toán, thể hiện ọc thông
thười sử ng
Cho phép l p trình t o ra nh ng ng d ng m i.ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ữ lập trình thực hành bậc cao được sử dụng để ứng dụng ụng để ới
Cho phép mô ph ng các mô hình th c t ỏng các mô hình thực tế ực hành bậc cao được sử dụng để ết quả, cho
Phân tích, kh o sát và hi n th d li u.ải ể ị dữ liệu ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện
V i ph n m m đ ho c c m nh.ới ần mềm đồ hoạ cực mạnh ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ồ hoạ cực mạnh ạo ra những ứng dụng mới ực hành bậc cao được sử dụng để ạo ra những ứng dụng mới
Cho phép phát tri n, giao ti p v i m t s ph n m m khác nh C++, ể ết quả, cho ới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ần mềm đồ hoạ cực mạnh ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ưFortran
1.2 T ng quan v c u trúc d li u c a Matlab, các ng d ng ổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng ề phần mềm Matlab ấu trúc dữ liệu của Matlab, các ứng dụng ữ liệu của Matlab, các ứng dụng ệu chung về phần mềm Matlab ủa Matlab, các ứng dụng ứng dụng ụng
Matlab là m t h th ng tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ố phần mềm khác như C++, ương giao, các phần tử dữ liệu là một mảng ng giao, các ph n t d li u là m t m ng ần mềm đồ hoạ cực mạnh ử dụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
(m ngải này không đòi h i v kích thỏng các mô hình thực tế ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ướic) Chúng cho phép gi i quy t các ải ết quả, cho
v n đ liên quanất dễ dàng cho người sử ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện
đ 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 ết quả, cho ập trình thực hành bậc cao được sử dụng để ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ặc biệt sử dụng các phép tính về ma trận ệc tính toán, thể hiện ử dụng để ụng để ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để hay vect vàơng giao, các phần tử dữ liệu là một mảng có th s d ng ngôn ng C h c Fortran l p trình r i th c ể ử dụng để ụng để ữ lập trình thực hành bậc cao được sử dụng để ọc thông ập trình thực hành bậc cao được sử dụng để ồ hoạ cực mạnh ực hành bậc cao được sử dụng để
hi n ng d ng l p trình đóệc tính toán, thể hiện ứng dụng ụng để ập trình thực hành bậc cao được sử dụng để b ng các câu l nh g i t Matlab Matlab ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ệc tính toán, thể hiện ọc thông ừ Matlab Matlab được sử dụng để c
vi t t t t ch “ết quả, cho ắt từ chữ “ ừ Matlab Matlab ữ lập trình thực hành bậc cao được sử dụng để MATrix LABoratory” t c là th vi n v ma tr n, t đó ứng dụng ư ệc tính toán, thể hiện ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ừ Matlab Matlab
ph n m m Matlab đần mềm đồ hoạ cực mạnh ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ược sử dụng để c vi t nh mết quả, cho ằng máy tính, đặc biệt sử dụng các phép tính về ma trận
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, ất dễ dàng cho người sử ệc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ễ dàng cho người sử
ph n m m maần mềm đồ hoạ cực mạnh ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện tr n này đập trình thực hành bậc cao được sử dụng để ược sử dụng để c phát tri n b i các công trình Linpack và ể ởi các công trình Linpack và Eispack Ngày nay Matlab được sử dụng để c phát tri n b i Lapack và Artpack t o nên ể ởi các công trình Linpack và ạo ra những ứng dụng mới
m t ngh thu t ph n m m cho maột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện tr n.ập trình thực hành bậc cao được sử dụng để
1.2.1 D li u ữ liệu của Matlab, các ứng dụng ệu chung về phần mềm Matlab
D li u c a Matlab th hi n dữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ể ệc tính toán, thể hiện ưới ạo ra những ứng dụng mới.i d ng ma tr n (ho c m ng - t ng quát), ập trình thực hành bậc cao được sử dụng để ặc biệt sử dụng các phép tính về ma trận ải ổng quát),
và có các ki u d li u để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ược sử dụng để c li t kê sau đây:ệc tính toán, thể hiện
Ki u đ n single, ki u này có l i v b nh d li u vì nó đòi h i ít ể ơng giao, các phần tử dữ liệu là một mảng ể ợc sử dụng để ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ỏng các mô hình thực tế.byte nhới h n, ki u d li u này không đơng giao, các phần tử dữ liệu là một mảng ể ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ược sử dụng để ử dụng để ụng để c s d ng trong các phép tính toán h c, đọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để chính xác kém h n.ơng giao, các phần tử dữ liệu là một mảng
Ki u double ki u này là ki u thông d ng nh t c a các bi n trong ể ể ể ụng để ất dễ dàng cho người sử ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ết quả, choMatlab
Trang 2Matlab t o đi u ki n thu n l i cho:ạo ra những ứng dụng mới ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ệc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ợc sử dụng để
Các khoá h c v toán h c.ọc thông ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ọc thông
Dùng Matlab đ tính toán, nghiên c u t o ra các s n ph m t t nh t ể ứng dụng ạo ra những ứng dụng mới ải ẩm tốt nhất ố phần mềm khác như C++, ất dễ dàng cho người sử trong s nải xu t.ất dễ dàng cho người sử
1.2.3 Toolbox là m t công c quan tr ng trong Matlab ột công cụ quan trọng trong Matlab ụng ọng trong Matlab
Công c này đụng để ược sử dụng để c Matlab cung c p cho phép b n ng d ng các kỹ thu t ất dễ dàng cho người sử ạo ra những ứng dụng mới ứng dụng ụng để ập trình thực hành bậc cao được sử dụng để
để phân tích, thi t k , mô ph ng các mô hình.ết quả, cho ết quả, cho ỏng các mô hình thực tế
Ta có th tìm th y toolbox trong mô trể ất dễ dàng cho người sử ởi các công trình Linpack và ười sử ng làm vi c c a.ệc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
M ng n ron.ạo ra những ứng dụng mới ơng giao, các phần tử dữ liệu là một mảng
1.3 H th ng Matlab ệu chung về phần mềm Matlab ống Matlab
H th ng giao di n c a Matlab đệc tính toán, thể hiện ố phần mềm khác như C++, ệc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ược sử dụng để c chia thành 5 ph n:ần mềm đồ hoạ cực mạnh
Đây là n i đ t các thanh công c , các phơng giao, các phần tử dữ liệu là một mảng ặc biệt sử dụng các phép tính về ma trận ụng để ương giao, các phần tử dữ liệu là một mảng ng ti n giúp chúng ta s d ng ệc tính toán, thể hiện ử dụng để ụng để các
l nh và các file, ta có th li t kê m t s nh sau.ệc tính toán, thể hiện ể ệc tính toán, thể hiện ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ư
+ Desktop
+ Command Window
+ Command History
+ Browsers for viewinghelp
• 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 ư ệc tính toán, thể hiện ọc thông ồ hoạ cực mạnh ất dễ dàng cho người sử ư ổng quát), cosin atan, atan2 etc , các phép tính đ n gi n đ n các phép tính ph c t p ơng giao, các phần tử dữ liệu là một mảng ải ết quả, cho ứng dụng ạo ra những ứng dụng mới
Trang 3nh tínhư ma tr n nghich đ o, tr riêng, chuy n đ i fourier, laplace, ập trình thực hành bậc cao được sử dụng để ải ị dữ liệu ể ổng quát),
symbolic library
• Ngôn ng Matlab Đó là các ngôn ng cao v ma tr n và m ng, v i các ữ lập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ải ớidòng l nh, các hàm, c u trúc d li u vào, có th l p trình hệc tính toán, thể hiện ất dễ dàng cho người sử ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ể ập trình thực hành bậc cao được sử dụng để ướing đ i tố phần mềm khác như C++, ược sử dụng để ng
• Đ ho trong Matlab Bao g m các câu l nh th hi n ồ hoạ cực mạnh ạo ra những ứng dụng mới ồ hoạ cực mạnh ệc tính toán, thể hiện ể ệc tính toán, thể hiện đ h a trong ồ hoạ cực mạnh ọc thông
môi trười sử ng 2D và 3D, t o các hình ạo ra những ứng dụng mới nh chuy n ải ể đ ng, cung c p các giao ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ất dễ dàng cho người sử
di nệc tính toán, thể hiện tương giao, các phần tử dữ liệu là một mảng ng tác gi a ngữ lập trình thực hành bậc cao được sử dụng để ười sử ử dụng để ụ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ết quả, cho ới ữ lập trình thực hành bậc cao được sử dụng để ương giao, các phần tử dữ liệu là một mảng ng tác v i các ới
ngôn ng khác nh C, Fortran …ữ lập trình thực hành bậc cao được sử dụng để ư
1.4 Làm quen v i Matlab ới thiệu chung về phần mềm Matlab
Trướic tiên đ kh i ể ởi các công trình Linpack và đ ng Matlab b n kích click vào bi u tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ể ược sử dụng để ng
file Matlab.exe, trên màn hình xu t hi n c a s sau (Xem hình vẽ 1.1) C a ất dễ dàng cho người sử ệc tính toán, thể hiện ử dụng để ổng quát), ử dụng để
s đó ch aổng quát), ứng dụng
các thanh công c (Giao di n ngụng để ệc tính toán, thể hiện ười sử i và máy) c n thi t cho vi c qu n lý các ần mềm đồ hoạ cực mạnh ết quả, cho ệc tính toán, thể hiện ảifiles, các bi n, c a s l nh, có th coi desktop là các panel g m các ô, vùng, ết quả, cho ử dụng để ổng quát), ệc tính toán, thể hiện ể ồ hoạ cực mạnh
qu n lý và tácải d ng c a t ng c a s nh đụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ừ Matlab Matlab ử dụng để ổng quát), ỏng các mô hình thực tế ược sử dụng để c qu n lý b i desktop.ải ởi các công trình Linpack và
Hình 1.1: C a s làm vi c c a matlab ửa sổ làm việc của matlab ổ làm việc của matlab ệc của matlab ủa matlab
1.5 Các c a s làm vi c c a Matlab ửa sổ làm việc của Matlab ổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng ệu chung về phần mềm Matlab ủa Matlab, các ứng dụng
a) C a s Command Window ửa sổ làm việc của Matlab ổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng
Trang 4Là c a s giao ti p chính c a Matlab b i ử dụng để ổng quát), ết quả, cho ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ởi các công trình Linpack và đây là n i nh p giá tr các ơng giao, các phần tử dữ liệu là một mảng ập trình thực hành bậc cao được sử dụng để ị dữ liệu.
bi n,ết quả, cho 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ó ể ị dữ liệu ị dữ liệu ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ể ứng dụng ực hành bậc cao được sử dụng để
s n trong th vi nẵn cho phép người sử ư ệc tính toán, thể hiện
(d ng l nh), ho c các hàm (d ng function) do ngạo ra những ứng dụng mới ệc tính toán, thể hiện ặc biệt sử dụng các phép tính về ma trận ạo ra những ứng dụng mới ười sử i dùng l p trình ra ập trình thực hành bậc cao được sử dụng để trong M-file
Các l nh đệc tính toán, thể hiện ược sử dụng để c nh p sau d u nh c “>>”, và n u có sai sót trong quá trình ập trình thực hành bậc cao được sử dụng để ất dễ dàng cho người sử ắt từ chữ “ ết quả, cho
gõ (nh p) l nh thì hãy nh n phím Enter cho ập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ất dễ dàng cho người sử đ n khi nh n đết quả, cho ập trình thực hành bậc cao được sử dụng để ược sử dụng để c d u nh c ất dễ dàng cho người sử ắt từ chữ “
“>>” Th cực hành bậc cao được sử dụng để
thi l nh b ng nh n phím Enter.ệc tính toán, thể hiện ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ất dễ dàng cho người sử
Gõ các l nh sau:ệc tính toán, thể hiện
>>A=pi/2;
>>B=sin(A)
B =
1
Ho c chặc biệt sử dụng các phép tính về ma trận ương giao, các phần tử dữ liệu là một mảng ng trình so n th o trong M-file dạo ra những ứng dụng mới ải ướii đây:
% Chuong trinh trong M-file
x= 0:pi/6:2*pi;
y=sin(x);
plot(x, y);
b)C a s command History ửa sổ làm việc của Matlab ổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng
Các dòng mà b n nh p vào trong c a s Command Window (các dòng ạo ra những ứng dụng mới ập trình thực hành bậc cao được sử dụng để ử dụng để ổng quát), 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 ể ập trình thực hành bậc cao được sử dụng để ết quả, cho ặc biệt sử dụng các phép tính về ma trận ể ệc tính toán, thể hiện ực hành bậc cao được sử dụng để ệc tính toán, thể hiện đó) được sử dụng để c giữ lập trình thực hành bậc cao được sử dụng để
l i trong c a s Command History, và c a s này cho phép ta s d ng l i ạo ra những ứng dụng mới ử dụng để ổng quát), ử dụng để ổng quát), ử dụng để ụng để ạo ra những ứng dụng mới
nh ngữ lập trình thực hành bậc cao được sử dụng để l nh đó b ng cách click chu t lên các l nh đó ệc tính toán, thể hiện ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ho c các bi n, n u ặc biệt sử dụng các phép tính về ma trận ết quả, cho ết quả, cho
nh b n mu n sư ạo ra những ứng dụng mới ố phần mềm khác như C++, ử dụng để d ng l i bi n đó Xem hình 1.2ụng để ạo ra những ứng dụng mới ết quả, cho
Trang 5Hình 1.2 C a s Command History ửa sổ làm việc của matlab ổ làm việc của matlab
c) C a s Workspace ửa sổ làm việc của Matlab ổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng
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ử dụng để ổng quát), ể ệc tính toán, thể hiện ết quả, cho ạo ra những ứng dụng mới ử dụng để ụng để ới ướic vùng nhới(s bytes), ki u d li u(l p), các bi n đố phần mềm khác như C++, ể ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ới ết quả, cho ược sử dụng để c gi i phóng sau m i l n t t ải ỗi lần tắt ần mềm đồ hoạ cực mạnh ắt từ chữ “
chương giao, các phần tử dữ liệu là một mảng ng trình
(xem hình 1.3)
Hình 1.3 C a s Workspace ửa sổ làm việc của matlab ổ làm việc của matlab
Trang 6Ngoài ra nó cho phép thay đ i giá tr , cũng nh kích thổng quát), ị dữ liệu ư ưới ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), c c a bi n ết quả, cho
b ngằng máy tính, đặc biệt sử dụng các phép tính về ma trận cách click chu t lên các bi n Ho c click vào nút bên trái ngay c nh ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ết quả, cho ặc biệt sử dụng các phép tính về ma trận ạo ra những ứng dụng mới.nút save Ví dụng để
khi ch n bi n (gi s là bi n b) r i click (ho c click chu t vào nút c nh ọc thông ết quả, cho ải ử dụng để ết quả, cho ồ hoạ cực mạnh ặc biệt sử dụng các phép tính về ma trận ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới
Hình 1.4 C a s Variable Editor ửa sổ làm việc của matlab ổ làm việc của matlab
Tiêu đ là tên bi n b, đ nh d ng d li u ô có tên là: Numeric format, ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ết quả, cho ị dữ liệu ạo ra những ứng dụng mới ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ởi các công trình Linpack và
m cặc biệt sử dụng các phép tính về ma trận đ nh là d ng short, kích thị dữ liệu ạo ra những ứng dụng mới ướic size là 1 by 3 (t c là m t hàng và 3 c t) ứng dụng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
đ i kích thổng quát), ướic này b ng cách thay đ i giá tr có trong ô kích thằng máy tính, đặc biệt sử dụng các phép tính về ma trận ổng quát), ị dữ liệu ướic size Dùng c a s này đ l u các bi n dử dụng để ổng quát), ể ư ết quả, cho ởi các công trình Linpack và ướii là d li u c a bi n b, ta có th ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ết quả, cho ể thay
đ i chúng b ng cách thay đ i giá tr trong các ô đó T t c các bi n đ u ổng quát), ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ổng quát), ị dữ liệu ất dễ dàng cho người sử ải ết quả, cho ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện
được sử dụng để ư trong Workspace trong đó th hi n c kích thc l u ể ệc tính toán, thể hiện ải ướic (Size), s ố phần mềm khác như C++, Bytes và ki u d li uể ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện
(class) (8 bytes cho m i ph n t d li u ki u double c th là 24 bytes ỗi lần tắt ần mềm đồ hoạ cực mạnh ử dụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ể ụng để ể dành cho b và 8 bytes dành cho a)
d) C a s M-file ửa sổ làm việc của Matlab ổng quan về cấu trúc dữ liệu của Matlab, các ứng dụng
Là m t c a s dùng đ so n th o chột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ử dụng để ổng quát), ể ạo ra những ứng dụng mới ải ương giao, các phần tử dữ liệu là một mảng ng trình ng d ng, đ th c thi ứng dụng ụng để ể ực hành bậc cao được sử dụng để
chương giao, các phần tử dữ liệu là một mảng trình vi t trong M-file b ng cách gõ tên c a file ch a chng ết quả, cho ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ứng dụng ương giao, các phần tử dữ liệu là một mảng ng trình
đó trong c a sử dụng để ổng quát),
Trang 7Commandwindow Khi m t chột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ương giao, các phần tử dữ liệu là một mảng ng trình vi t trong M-file, ết quả, cho thì tuỳ theo
ng d ng c th ,
ứng dụng ụng để ụng để ể tuỳ theo người sử ập trình thực hành bậc cao được sử dụng để i l p trình mà chương giao, các phần tử dữ liệu là một mảng ng trình có th vi t ể ết quả, cho
dưới ạo ra những ứng dụng mới.i d ng sau:
• D ng Script file: T c là chạo ra những ứng dụng mới ứng dụng ương giao, các phần tử dữ liệu là một mảng ng trình g m t p h p các câu l nh vi t ồ hoạ cực mạnh ập trình thực hành bậc cao được sử dụng để ợc sử dụng để ệc tính toán, thể hiện ết quả, cho
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.i ạo ra những ứng dụng mới ệc tính toán, thể hiện ết quả, cho ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ết quả, cho ất dễ dàng cho người sử ị dữ liệu
• D ng hàm function: có bi n d li u vào và bi n ra.ạo ra những ứng dụng mới ết quả, cho ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ết quả, cho
e) Đười sử ng d n th m c: N i l u gi các files chẫn thư mục: Nơi lưu giữ các files chương trình ư ụng để ơng giao, các phần tử dữ liệu là một mảng ư ữ lập trình thực hành bậc cao được sử dụng để ương giao, các phần tử dữ liệu là một mảng ng trình
1.2 Gi i thi u khái quát v nh s ới thiệu chung về phần mềm Matlab ệu chung về phần mềm Matlab ề phần mềm Matlab ảnh số ống Matlab
1.2.1 Các khái ni m c b n v nh ệu chung về phần mềm Matlab ơ bản về ảnh ảnh số ề phần mềm Matlab ảnh số
nh s là t p h p h u h n các đi m nh v i m c xám phù h p dùng đ
& ố phần mềm khác như C++, ập trình thực hành bậc cao được sử dụng để ợc sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ể ải ới ứng dụng ợc sử dụng để ể
mô t nh g n v i nh th t S đi m nh xác đ nh đ phân gi i c a nh ải ải ần mềm đồ hoạ cực mạnh ới ải ập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ể ải ị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải
nh có đ phân
& ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để gi i càng cao thì càng th hi n rõ nét các đ t đi m c a ải ể ệc tính toán, thể hiện ặc biệt sử dụng các phép tính về ma trận ể ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
t m hình càng làm cho t mất dễ dàng cho người sử ất dễ dàng cho người sử nh tr nên th c và s c nét h n.ải ởi các công trình Linpack và ực hành bậc cao được sử dụng để ắt từ chữ “ ơng giao, các phần tử dữ liệu là một mảng
Đi m nh (Pixel) là m t ph n t c a nh s t i to đ (x, y) v i đ xám ể ải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ử dụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải ố phần mềm khác như C++, ạo ra những ứng dụng mới ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
ho cặc biệt sử dụng các phép tính về ma trận màu nh t đ nh Kích thất dễ dàng cho người sử ị dữ liệu ướic và kho ng cách gi a các đi m nh đó ải ữ lập trình thực hành bậc cao được sử dụng để ể ải
được sử dụng để c ch n thíchọc thông h p sao cho m t ngợc sử dụng để ắt từ chữ “ ười sử ảii c m nh n s liên t c v không ập trình thực hành bậc cao được sử dụng để ực hành bậc cao được sử dụng để ụng để ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện gian và m c xám (ho c màu)ứng dụng ặc biệt sử dụng các phép tính về ma trận c a ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), nh s g n nh ải ố phần mềm khác như C++, ần mềm đồ hoạ cực mạnh ư nh th t M i ph n t ải ập trình thực hành bậc cao được sử dụng để ỗi lần tắt ần mềm đồ hoạ cực mạnh ử dụng để trong ma tr n ập trình thực hành bậc cao được sử dụng để được sử dụng để ọc thôngc g i là m t ph n tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ử dụng để nh.ải
b) M c xám c a nh ứng dụng ủa Matlab, các ứng dụng ảnh số
M c xám: Là k t qu c a s bi n đ i tứng dụng ết quả, cho ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ực hành bậc cao được sử dụng để ết quả, cho ổng quát), ương giao, các phần tử dữ liệu là một mảng ng ng 1 giá tr đ sáng c a 1 ứng dụng ị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
đi mể nh v i 1 giá tr nguyên dải ới ị dữ liệu ương giao, các phần tử dữ liệu là một mảng ng Thông thười sử ng nó xác đ nh trong [0, ị dữ liệu.255] tuỳ thu cột ngôn ngữ lập trình thực hành bậc cao được sử dụng để vào giá tr mà m i đi m nh đị dữ liệu ỗi lần tắt ể ải ược sử dụng để c bi u di n.ể ễ dàng cho người sử Các thang giá
tr m c xám thông thị dữ liệu ứng dụng ười sử ng: 16, 32, 64, 128, 256 (M c 256 làứng dụng m c ph ứng dụng ổng quát),
d ng Lý do: t kỹ thu t máy tính dùng 1 byte (8 bit) ụng để ừ Matlab Matlab ập trình thực hành bậc cao được sử dụng để đ bi u di n ể ể ễ dàng cho người sử
m cứng dụng xám M c xám dùng 1 byte bi u di n: 2ứng dụng ể ễ dàng cho người sử 8 =256 m c, t c là t 0 đ n ứng dụng ứng dụng ừ Matlab Matlab ết quả, cho255)
c) Đ phân gi i c a nh ột công cụ quan trọng trong Matlab ảnh số ủa Matlab, các ứng dụng ảnh số
Đ nh nghĩa: Đ phân gi i (Resolution) c a nh là m t đ đi m nh đị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải ập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ể ải ược sử dụng để c n
ất dễ dàng cho người sử đ nh trên m t nh s đị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ố phần mềm khác như C++, ược sử dụng để c hi n th ể ị dữ liệu
Trang 8Theo đ nh nghĩa, kho ng cách gi a các ị dữ liệu ải ữ lập trình thực hành bậc cao được sử dụng để đi m ể nh ph i ải ải được sử dụng để c ch n sao ọc thôngcho m t ngắt từ chữ “ ười sử ẫn thư mục: Nơi lưu giữ các files chương trình.i v n th y đất dễ dàng cho người sử ược sử dụng để ực hành bậc cao được sử dụng để c s liên t c c a nh Vi c l a ch n kho ng ụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải ệc tính toán, thể hiện ực hành bậc cao được sử dụng để ọc thông ảicách thích h pợc sử dụng để t o nên m t m t đ phân b , đó chính là đ phân gi i và ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ổng quát), ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
được sử dụng để c phân b theo tr c xố phần mềm khác như C++, ụng để và y trong không gian hai chi u.ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện
Ví d : Đ phân gi i c a nh trên màn hình CGA (Color Graphic Adaptor) ụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải
là m t lột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ưới đi m theo chi u ngang màn hình: 320 i ể ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện đi m chi u d c * 200ể ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ọc thông
đi m ể nhải (320*200) Rõ ràng, cùng màn hình CGA 12” ta nh n th y m n ập trình thực hành bậc cao được sử dụng để ất dễ dàng cho người sử ị dữ liệu
h n màn hình CGAơng giao, các phần tử dữ liệu là một mảng 17” đ phân gi i 320*200 Lý do: cùng m t m t đ (đ ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để phân gi i) nh ng di n tíchải ư ệc tính toán, thể hiện màn hình r ng h n thì đ m n (liên t c c a các ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ơng giao, các phần tử dữ liệu là một mảng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu ụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
đi m) kém h n.ể ơng giao, các phần tử dữ liệu là một mảng
nh nh phân: Giá tr xám c a t t c các đi m nh ch nh n giá tr 1 ho c
& ị dữ liệu ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ất dễ dàng cho người sử ải ể ải ỉ nhận giá trị 1 hoặc ập trình thực hành bậc cao được sử dụng để ị dữ liệu ặc biệt sử dụng các phép tính về ma trận
0 nh v y m i đi m nh trong nh nh phân đư ập trình thực hành bậc cao được sử dụng để ỗi lần tắt ể ải ải ị dữ liệu ược sử dụng để c bi u di n b i 1 bit.ể ễ dàng cho người sử ởi các công trình Linpack và
nh xám: Giá tr xám n m trong [0, 255] nh v y m i đi m nh trong & ị dữ liệu ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ư ập trình thực hành bậc cao được sử dụng để ỗi lần tắt ể ảinh
ải nh phân đị dữ liệu ược sử dụng để c bi u di n b i 1 byte.ể ễ dàng cho người sử ởi các công trình Linpack và
nh màu:
&
- H màu RGB:ệc tính toán, thể hiện
M t pixel đột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ược sử dụng để c bi u di n b ng 3 giá tr (R, G, B) trong đó R, G, B là m t giá ể ễ dàng cho người sử ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để trị dữ liệu xám và được sử dụng để c bi u bi u di n b ng 1 byte Khi đó ta có m t nh 24 bits.ể ể ễ dàng cho người sử ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ảiP(x, y) = (R, G, B)
- H màu CMY: là ph n bù c a h màu RGBệc tính toán, thể hiện ần mềm đồ hoạ cực mạnh ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ệc tính toán, thể hiện
(C, M, Y) = (1, 1, 1) - (R, G, B)
Hay C+R=M+G=Y+B=1
=> H màu này thệc tính toán, thể hiện ười sử ng được sử dụng để c dùng trong máy in
- H màu CMYK: trong đó K là đ đ m nh t c a màu K= min(C, M, Y)ệc tính toán, thể hiện ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
P(x, y) = (C-K, M-K, V-K, K)
Ví d :ụng để
v y CMYK=(C1-K, M1-K, Y1-K, K)ập trình thực hành bậc cao được sử dụng để
Trang 93 X lý nh v i Matlab ửa sổ làm việc của Matlab ảnh số ới thiệu chung về phần mềm Matlab
3.1 X lý nh ửa sổ làm việc của Matlab ảnh số
Các bưới ần mềm đồ hoạ cực mạnh.c c n thi t trong x lý nh Đ u tiên, nh t nhiên t th gi i ết quả, cho ử dụng để ải ần mềm đồ hoạ cực mạnh ải ực hành bậc cao được sử dụng để ừ Matlab Matlab ết quả, cho ớingoài được sử dụng để c thu nh n qua các thi t b thu (nh Camera, máy ch p nh) ập trình thực hành bậc cao được sử dụng để ết quả, cho ị dữ liệu ư ụng để ải
Trướic đây, nh thuải qua Camera là các nh tải ương giao, các phần tử dữ liệu là một mảng ng t (lo i Camera ng ki u ực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ố phần mềm khác như C++, ể CCIR) G n đây, v i s phátần mềm đồ hoạ cực mạnh ới ực hành bậc cao được sử dụng để tri n c a công ngh , nh màu ho c đen tr ng ể ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ệc tính toán, thể hiện ải ặc biệt sử dụng các phép tính về ma trận ắt từ chữ “
được sử dụng để ất dễ dàng cho người sử c l y ra t Camera, sau đó nó đừ Matlab Matlab ược sử dụng để chuy n tr c ti p thành nh s t o c ể ực hành bậc cao được sử dụng để ết quả, cho ải ố phần mềm khác như C++, ạo ra những ứng dụng mới.thu n l i cho x lý ti p theo Máy nh s hi n nayập trình thực hành bậc cao được sử dụng để ợc sử dụng để ử dụng để ết quả, cho ải ố phần mềm khác như C++, ệc tính toán, thể hiện là m t thí d g n gũi ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ụng để ần mềm đồ hoạ cực mạnh
M t khác, nh cũng có th ti p nh n t v tinh; có th quét tặc biệt sử dụng các phép tính về ma trận ải ể ết quả, cho ập trình thực hành bậc cao được sử dụng để ừ Matlab Matlab ệc tính toán, thể hiện ể ừ Matlab Matlab nh ch p ải ụng để
b ng máy quét nh Hình dằng máy tính, đặc biệt sử dụng các phép tính về ma trận ải ướii đây mô t các bải ưới ơng giao, các phần tử dữ liệu là một mảng ảic c b n trong x lý nh.ử dụng để ải
Hình 1.5 Các b ước cơ bản trong xử lý ảnh ơ bản trong xử lý ảnh ản trong xử lý ảnh c c b n trong x lý nh ửa sổ làm việc của matlab ản trong xử lý ảnh
3.2 Các giai đo n x lý nh ại ảnh ửa sổ làm việc của Matlab ảnh số
- nh đ& ược sử dụng để c thu t nhi u ngu n khác nhau:máy nh, máy quay phim, máy ừ Matlab Matlab ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ồ hoạ cực mạnh ảiquét, nh v tinh…ải ệc tính toán, thể hiện
- M c đích: bi n đ i thông tin hình nh v các c u trúc đụng để ết quả, cho ổng quát), ải ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ất dễ dàng cho người sử ược sử dụng để ưc l u tr trongữ lập trình thực hành bậc cao được sử dụng để 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…ể ể ị dữ liệu ết quả, cho ị dữ liệu ạo ra những ứng dụng mới ư
- G m hai ti n trình:ồ hoạ cực mạnh ết quả, cho
+ Bi n đ i năng lết quả, cho ổng quát), ược sử dụng để ng quang h c thành năng lọc thông ược sử dụng để ng đi n.ệc tính toán, thể hiện
+ T ng h p năng lổng quát), ợc sử dụng để ược sử dụng để ng đi n thành nh ho c ma tr n s ệc tính toán, thể hiện ải ặc biệt sử dụng các phép tính về ma trận ập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++,
b) Ti n x lý (Image Processing) ề phần mềm Matlab ửa sổ làm việc của Matlab
- 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 ử dụng để ụng để ập trình thực hành bậc cao được sử dụng để ử dụng để ải ể ải ố phần mềm khác như C++, ụng để đích s d ng.ử dụng để ụng để
Trang 10+ Hi u ch nh giá tr đ sáng gi a n n và đ i tệc tính toán, thể hiện ỉ nhận giá trị 1 hoặc ị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ố phần mềm khác như C++, ược sử dụng để ng.
+ Chu n hoá đ l n, màu, d ng c a nh.ẩm tốt nhất ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ạo ra những ứng dụng mới ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải
+Đi u ch nh b l c đ khuy ch đ i và nén các t n s ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ỉ nhận giá trị 1 hoặc ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ọc thông ể ết quả, cho ạo ra những ứng dụng mới ần mềm đồ hoạ cực mạnh ố phần mềm khác như C++,
- Là quá trình phân chia n i dung các đ i tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ược sử dụng để ng c n kh o sát ra kh i nh.ần mềm đồ hoạ cực mạnh ải ỏng các mô hình thực tế ải
- Phân chia các đ i tố phần mềm khác như C++, ược sử dụng để ng ti p giáp nhau.ết quả, cho
- Phân tách các đ i tố phần mềm khác như C++, ược sử dụng để ng riêng bi t thành các đ i tệc tính toán, thể hiện ố phần mềm khác như C++, ược sử dụng để ng con
d) Bi u di n nh (Image Representation) ểm ảnh (Picture Element) ễn ảnh (Image Representation) ảnh số
Đ u ra ần mềm đồ hoạ cực mạnh nh sau phân ải đo n ch a các ạo ra những ứng dụng mới ứng dụng đi m ể nh c a vùng ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), nh ( nh ải ải đã 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ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ết quả, cho ới ập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ết quả, cho ổng quát), ố phần mềm khác như C++,
li u này thànhệc tính toán, thể hiện d ng thích h p là c n thi t cho x lý ti p theo b ng máy ạo ra những ứng dụng mới ợc sử dụng để ần mềm đồ hoạ cực mạnh ết quả, cho ử dụng để ết quả, cho ằng máy tính, đặc biệt sử dụng các phép tính về ma trận tính Vi c ch n các tínhệc tính toán, thể hiện ọc thông ch t đ th hi n nh g i là trích ch n đ c tr ng ất dễ dàng cho người sử ể ể ệc tính toán, thể hiện ải ọc thông ọc thông ặc biệt sử dụng các phép tính về ma trận ư(Feature Selection) g n v i vi c táchắt từ chữ “ ới ệc tính toán, thể hiện các đ c tính c a ặc biệt sử dụng các phép tính về ma trận ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), nh dải ưới ạo ra những ứng dụng mới.i d ng các thông tin đ nh lị dữ liệu ược sử dụng để ng ho c làm c s đ phânặc biệt sử dụng các phép tính về ma trận ơng giao, các phần tử dữ liệu là một mảng ởi các công trình Linpack và ể bi t l p đ i tệc tính toán, thể hiện ới ố phần mềm khác như C++, ược sử dụng để ng này v i ới
đ i tố phần mềm khác như C++, ược sử dụng để ng khác trong ph m vi nh nh n đạo ra những ứng dụng mới ải ập trình thực hành bậc cao được sử dụng để ược sử dụng để c
Ví d : trong nh n d ng ký t trên phong bì th , chúng ta miêu t cácụng để ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ực hành bậc cao được sử dụng để ư ải
đ cặc biệt sử dụng các phép tính về ma trận tr ng c a t ng ký t giúp phân bi t ký t này v i ký t khác.ư ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ừ Matlab Matlab ực hành bậc cao được sử dụng để ệc tính toán, thể hiện ực hành bậc cao được sử dụng để ới ực hành bậc cao được sử dụng để
e) Nh n d ng và n i suy nh (Image Recognition and Interpretation) ận ảnh (Image Acquisition) ại ảnh ột công cụ quan trọng trong Matlab ảnh số
Nh n d ng ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới nh là quá trình xác ải đ nh ị dữ liệu nh Quá trình này thải ười sử ng thu
được sử dụng để b ng cách so sánh v i m u chu n đã đc ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ới ẫn thư mục: Nơi lưu giữ các files chương trình ẩm tốt nhất ược sử dụng để c h c (ho c l u) t trọc thông ặc biệt sử dụng các phép tính về ma trận ư ừ Matlab Matlab ướic
N i suy là phánột ngôn ngữ lập trình thực hành bậc cao được sử dụng để đoán theo ý nghĩa trên c s nh n d ng.ơng giao, các phần tử dữ liệu là một mảng ởi các công trình Linpack và ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới
Ví d : m t lo t ch s và nét g ch ngang trên phong bì th có th đụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ạo ra những ứng dụng mới ư ể ược sử dụng để c
n iột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
Trang 11suy thành mã đi n tho i Có nhi u cách phân loai ệc tính toán, thể hiện ạo ra những ứng dụng mới ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện nh khác nhau v ải ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện nh ảiTheo lý thuy t v nh n d ng, các mô hình toán h c v ết quả, cho ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ọc thông ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện nh ải được sử dụng để c phân theo hai lo i nh nạo ra những ứng dụng mới ập trình thực hành bậc cao được sử dụng để d ng nh c b n:ạo ra những ứng dụng mới ải ơng giao, các phần tử dữ liệu là một mảng ải
- Nh n d ng theo tham s ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ố phần mềm khác như C++,
- Nh n d ng theo c u trúc.ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ất dễ dàng cho người sử
M t s đ i tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ố phần mềm khác như C++, ược sử dụng để ng nh n d ng khá ph bi n hi n nay đang đập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ổng quát), ết quả, cho ệc tính toán, thể hiện ược sử dụng để c áp d ng ụng để trong khoa h c và công ngh là: nh n d ng ký t (ch in, ch vi t tay, ch ọc thông ệc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ết quả, cho ữ lập trình thực hành bậc cao được sử dụng để
ký đi n t ),ệc tính toán, thể hiện ử dụng để nh n d ng văn b n (Text), nh n d ng vân tay, nh n d ng mã ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ải ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới
v ch, nh n d ng m tạo ra những ứng dụng mới ập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ặc biệt sử dụng các phép tính về ma trận
f) C s tri th c (Knowledge Base) ơ bản về ảnh ở tri thức (Knowledge Base) ứng dụng
Nh đã nói trên, nh là m t đ i tư ởi các công trình Linpack và ải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ược sử dụng để ng khá ph c t p v đứng dụng ạo ra những ứng dụng mới ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ười sử ng nét, đ ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
nhi u Trongễ dàng cho người sử nhi u khâu x lý và phân tích nh ngoài vi c đ n gi n hóa ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ử dụng để ải ệc tính toán, thể hiện ơng giao, các phần tử dữ liệu là một mảng ảicác phương giao, các phần tử dữ liệu là một mảng ng pháp toán h c đ m b o ti n l i cho x lý, ngọc thông ải ải ệc tính toán, thể hiện ợc sử dụng để ử dụng để ười sử i ta mong
mu n b t chố phần mềm khác như C++, ắt từ chữ “ ướic quy trình ti p nh nết quả, cho ập trình thực hành bậc cao được sử dụng để và x lý ử dụng để nh theo cách c a con ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
người sử i Trong các bưới ử dụng để c x lý đó, nhi u khâu hi nề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ệc tính toán, thể hiện nay đã x lý theo các ử dụng để
phương giao, các phần tử dữ liệu là một mảng ng pháp trí tu con ngệc tính toán, thể hiện ười sử i Vì v y, ập trình thực hành bậc cao được sử dụng để ởi các công trình Linpack và đây các c s triơng giao, các phần tử dữ liệu là một mảng ởi các công trình Linpack và th c đứng dụng ược sử dụng để c phát huy
Nh v y là chúng ta đã tìm hi u c b n matlab và nguyên t c x lý nh ểu cơ bản matlab và nguyên tắc xử lý ảnh ơ bản matlab và nguyên tắc xử lý ảnh ản matlab và nguyên tắc xử lý ảnh ắc xử lý ảnh ử lý ảnh ản matlab và nguyên tắc xử lý ảnh.
Ph n ti p theo chúng ta sẽ tìm hi u v các hàm x lý nh c a matlab ếp theo chúng ta sẽ tìm hiểu về các hàm xử lý ảnh của matlab ểu cơ bản matlab và nguyên tắc xử lý ảnh ề các hàm xử lý ảnh của matlab ử lý ảnh ản matlab và nguyên tắc xử lý ảnh ủa matlab.
Xem Ph n 2 ần mềm Matlab : Các hàm x lý nh trong matlab ửa sổ làm việc của Matlab ảnh số
Các ki u nh trong Matlab ểm ảnh (Picture Element) ảnh số
a) nh đ Ảnh được định chỉ số (Indexed Images) ược định chỉ số (Indexed Images) c đ nh ch s (Indexed Images) ịnh chỉ số (Indexed Images) ỉ số (Indexed Images) ống Matlab
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 ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ồ hoạ cực mạnh ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ập trình thực hành bậc cao được sử dụng để ải ồ hoạ cực mạnh.map Ma tr n d li u có th có ki u thu c l p uint8, uint16 ho c ki u ập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ể ể ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ặc biệt sử dụng các phép tính về ma trận ể
Trang 12double Ma tr n b n đ màu là m t m ng mx3 ki u double bao g m các ập trình thực hành bậc cao được sử dụng để ải ồ hoạ cực mạnh ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ể ồ hoạ cực mạnh.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á ị dữ liệu ất dễ dàng cho người sử ẩm tốt nhất ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ữ lập trình thực hành bậc cao được sử dụng để ỗi lần tắt ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải ồ hoạ cực mạnh ỉ nhận giá trị 1 hoặc
tr mà: red, green và blue c a m t màu đ n M t nh ch s s d ng ánh ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ơng giao, các phần tử dữ liệu là một mảng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ử dụng để ụng để
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ạo ra những ứng dụng mới ực hành bậc cao được sử dụng để ết quả, cho ữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải ới ị dữ liệu ải ồ hoạ cực mạnh ắt từ chữ “
c a m i pixel nh đủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ỗi lần tắt ải ược sử dụng để c tính toán b ng cách s d ng giá tr tằng máy tính, đặc biệt sử dụng các phép tính về ma trận ử dụng để ụng để ị dữ liệu ương giao, các phần tử dữ liệu là một mảng ng ng c a ứng dụng ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
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ạo ra những ứng dụng mới ới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ị dữ liệu ỉ nhận giá trị 1 hoặc ần mềm đồ hoạ cực mạnh ị dữ liệu
2 ch ra hàng th hai trong b n đ màu …ỉ nhận giá trị 1 hoặc ứng dụng ải ồ hoạ cực mạnh
M t b n đ màu thột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ồ hoạ cực mạnh ười sử ng được sử dụng để c ch a cùng v i nh ch s và đứng dụng ới ải ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ược sử dụng để ực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để c t đ ng
n p cùng v i nh khi s d ng hàm imread đ đ c nh Tuy nhiên, ta khôngạo ra những ứng dụng mới ới ải ử dụng để ụng để ể ọc thông ải
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ì ị dữ liệu ới ạo ra những ứng dụng mới ử dụng để ụng để ải ồ hoạ cực mạnh ặc biệt sử dụng các phép tính về ma trận ị dữ liệu ể ử dụng để ụng để ất dễ dàng cho người sử
b n đ màu nào.ải ồ hoạ cực mạnh
b) nh c Ảnh được định chỉ số (Indexed Images) ường độ (Intensity Images) ng đ (Intensity Images) ột công cụ quan trọng trong Matlab
M t nh cột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ười sử ng đ là m t ma tr n d li u nh I mà giá tr c a nó đ i di n ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ải ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ạo ra những ứng dụng mới ệc tính toán, thể hiện cho cười sử đ trong m t s vùng nào đó c ang ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), nh Matlab ch a m t nh ải ứng dụng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
cười sử đ nh m t ma tr n đ n, v i m i ph n t c a ma tr n tng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ư ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ập trình thực hành bậc cao được sử dụng để ơng giao, các phần tử dữ liệu là một mảng ới ỗi lần tắt ần mềm đồ hoạ cực mạnh ử dụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ập trình thực hành bậc cao được sử dụng để ương giao, các phần tử dữ liệu là một mảng ng ng ứng dụng
v i m t pixel c a nh Ma tr n có th thu c l p double, uint8 hayới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải ập trình thực hành bậc cao được sử dụng để ể ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới uint16 Trong khi nh cải ười sử đ hi m khi đng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ết quả, cho ược sử dụng để ưc l u v i b n đ màu, Matlab s ới ải ồ hoạ cực mạnh ử dụng để
d ng b n đ màu đ hi n th chúng.ụng để ải ồ hoạ cực mạnh ể ể ị dữ liệu
Nh ng ph n t trong ma tr n cữ lập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ử dụng để ập trình thực hành bậc cao được sử dụng để ười sử ng đ đ i di n cho các cột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ạo ra những ứng dụng mới ệc tính toán, thể hiện ười sử ng đ khác ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nhau ho c đ xám Nh ng đi m có cặc biệt sử dụng các phép tính về ma trận ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ể ười sử ng đ b ng 0 thột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ằng máy tính, đặc biệt sử dụng các phép tính về ma trận ười sử ng được sử dụng để c đ i di nạo ra những ứng dụng mới ệc tính toán, thể hiện
b ng màu đen và cằng máy tính, đặc biệt sử dụng các phép tính về ma trận ười sử đ 1,255 ho c 65535 thng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ặc biệt sử dụng các phép tính về ma trận ười sử đ i di n cho ng ạo ra những ứng dụng mới ệc tính toán, thể hiện
cười sử đ cao nh t hay màu tr ng.ng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ất dễ dàng cho người sử ắt từ chữ “
c) nh nh phân (Binary Images) Ảnh được định chỉ số (Indexed Images) ịnh chỉ số (Indexed Images)
Trong m t nh nh phân, m i pixel ch có th ch a m t trong hai giá tr ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ị dữ liệu ỗi lần tắt ỉ nhận giá trị 1 hoặc ể ứng dụng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu
nh phân 0 ho c 1 Hai giá tr này tị dữ liệu ặc biệt sử dụng các phép tính về ma trận ị dữ liệu ương giao, các phần tử dữ liệu là một mảng ng ng v i b t ho c t t (on ho c off) ứng dụng ới ập trình thực hành bậc cao được sử dụng để ặc biệt sử dụng các phép tính về ma trận ắt từ chữ “ ặc biệt sử dụng các phép tính về ma trận
M t nh nhột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ị dữ liệu
phân được sử dụng để ưc l u tr nh m t m ng logic c a 0 và 1.ữ lập trình thực hành bậc cao được sử dụng để ư ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
d) nh RGB (RGB Images) Ảnh được định chỉ số (Indexed Images)
M tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nh RGB - thải ười sử đng ược sử dụng để ọc thôngc g i là true-color, được sử dụng để ưc l u tr trong Matlab ữ lập trình thực hành bậc cao được sử dụng để
dưới ạo ra những ứng dụng mới.i d ng m t m ng d li u có kích thột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ướic 3 chi u mxnx3 đ nh nghĩa các ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ị dữ liệu.giá tr màu red, green và blue cho m i pixel riêng bi t nh RGB không s ị dữ liệu ỗi lần tắt ệc tính toán, thể hiện & ử dụng để
d ng palette Màu c a m i pixel đụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ỗi lần tắt ược sử dụng để c quy t đ nh b i s k t h p gi a các ết quả, cho ị dữ liệu ởi các công trình Linpack và ực hành bậc cao được sử dụng để ết quả, cho ợc sử dụng để ữ lập trình thực hành bậc cao được sử dụng để giá tr R, G, B (Red, Green, Blue) đị dữ liệu ược sử dụng để ưc l u tr trong m t m t ph ng màu ữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ặc biệt sử dụng các phép tính về ma trận ẳ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 ạo ra những ứng dụng mới ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ị dữ liệu ạo ra những ứng dụng mới ồ hoạ cực mạnh ạo ra những ứng dụng mới ư ữ lập trình thực hành bậc cao được sử dụng để ải ố phần mềm khác như C++, ư ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
ải ết quả, cho ương giao, các phần tử dữ liệu là một mảng ứng dụng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện
nh n đập trình thực hành bậc cao được sử dụng để ược sử dụng để c 16 tri u màu khác nhau.ệc tính toán, thể hiện
M t m ng RGB có th thu c l p double, uint8 ho c uint16 Trong m t ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ể ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ặc biệt sử dụng các phép tính về ma trận ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
m ng RGB thu c l p double, m i thành ph n màu có giá tr gi a 0 và 1 ải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ỗi lần tắt ần mềm đồ hoạ cực mạnh ị dữ liệu ữ lập trình thực hành bậc cao được sử dụng để
M t pixel mà thành ph n màu c a nó là (0, 0, 0) đột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ược sử dụng để c hi n th v i màu đenể ị dữ liệu ới
Trang 13và m t pixel mà thành ph n màu là (1, 1, 1 )ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh được sử dụng để c hi n th v i màu tr ng ể ị dữ liệu ới ắt từ chữ “
Ba thành ph n màu c a m i pixel đần mềm đồ hoạ cực mạnh ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ỗi lần tắt ược sử dụng để ưc l u tr cùng v i chi u th 3 c a ữ lập trình thực hành bậc cao được sử dụng để ới ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ứng dụng ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
m ng d li u Ch ng h n, giá tr màu R, G, B c a pixel (10, 5) đải ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ẳng màu ạo ra những ứng dụng mới ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ược sử dụng để ưc l u tr ữ lập trình thực hành bậc cao được sử dụng để trong RGB(10, 5, 1), RGB(10, 5, 2) và RGB(10, 5, 3) tương giao, các phần tử dữ liệu là một mảng ng ng.ứng dụ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 ể ắt từ chữ “ ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ẳng màu ạo ra những ứng dụng mới
b ba giá tr đột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu ược sử dụng để ưc l u tr trong (2, 3, 1:3) Gi s (2, 3, 1) ch a giá tr ữ lập trình thực hành bậc cao được sử dụng để ải ử dụng để ứng dụng ị dữ liệu.0.5176; (2, 3, 2) ch a giá tr 0.1608 và (2, 3, 3) ch a giá tr 0.0627 thì màu ứng dụng ị dữ liệu ứng dụng ị dữ liệu
s c c a pixel t i (2, 3) sẽ là (0.5176, 0.1608, 0.0627).ắt từ chữ “ ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ạo ra những ứng dụng mới
Các hàm x lý nh c b n trong Matlab ửa sổ làm việc của Matlab ảnh số ơ bản về ảnh ảnh số
a) Đ c và ghi d li u nh ọng trong Matlab ữ liệu của Matlab, các ứng dụng ệu chung về phần mềm Matlab ảnh số
Đ c m t nh đ ho ọng trong Matlab ột công cụ quan trọng trong Matlab ảnh số ồ hoạ ại ảnh
- Hàm imread đ c m t nh t b t kì đ nh d ng nào đọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ừ Matlab Matlab ất dễ dàng cho người sử ị dữ liệu ạo ra những ứng dụng mới ược sử dụng để c tr giúp trong ợc sử dụng để
b t kì chi u sâu bit nào đất dễ dàng cho người sử ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ược sử dụng để c tr giúp H u h t các file nh s d ng 8 bit ợc sử dụng để ần mềm đồ hoạ cực mạnh ết quả, cho ải ử dụng để ụng để
đ ch a giá tr c a pixel Khi chúng để ứng dụng ị dữ liệu ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ược sử dụng để c đ c vào b nh , Matlab ch a ọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ứng dụngchúng dưới ạo ra những ứng dụng mới.i d ng uint8 V i các file tr giúp 16 bít d li u, PNG và TIFF, ới ợc sử dụng để ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện Matlab ch a chúng dứng dụng ưới ạo ra những ứng dụng mới.i d ng uint16 Chú ý: V iới nh ch s ,ải ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, imread luôn luôn đ c b nọc thông ải đ màu vào trong m t chu i thu c l p double, th m chí ồ hoạ cực mạnh ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ỗi lần tắt ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ập trình thực hành bậc cao được sử dụng để
m ng nh t nó thu c l p uint8 hay uint16ải ải ực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới
- Ch ng h n, đo n mã sau sẽ đ c m t nh RGB vào không gian làm vi c ẳng màu ạo ra những ứng dụng mới ạo ra những ứng dụng mới ọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ệc tính toán, thể hiện
c a Matlab l u trong bi n RGB.ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ư ết quả, cho
RGB=imread(‘football.jpg’);
Trong ví d này, imread sẽ nh n ra đ nh d ng file đ s d ng t tên file Taụng để ập trình thực hành bậc cao được sử dụng để ị dữ liệu ạo ra những ứng dụng mới ể ử dụng để ụng để ừ Matlab Matlab cũng có th ch raể ỉ nhận giá trị 1 hoặc đ nh d ng file nh m t tham s trong hàmị dữ liệu ạo ra những ứng dụng mới ư ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, imread Matlab tr giúp r t nhi uợc sử dụng để ất dễ dàng cho người sử ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện đ nh d ngị dữ liệu ạo ra những ứng dụng mới đ ho thông d ng ch ng h n: BMP, ồ hoạ cực mạnh ạo ra những ứng dụng mới ụng để ẳng màu ạo ra những ứng dụng mới.GIF, JPEG, PNG, TIFF … Đ bi t thêm các ki u g i hàm và tham s truy n ể ết quả, cho ể ọc thông ố phần mềm khác như C++, ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện vào, xem tr giúp online c a Matlab.ợc sử dụng để ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
Đ c nhi u nh t m t file đ ho ọng trong Matlab ề phần mềm Matlab ảnh số ừ một file đồ hoạ ột công cụ quan trọng trong Matlab ồ hoạ ại ảnh
- Matlab tr giúp m t s đ nh d ng file đ ho ch ng h n nh : HDF và ợc sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ị dữ liệu ạo ra những ứng dụng mới ồ hoạ cực mạnh ạo ra những ứng dụng mới ẳng màu ạo ra những ứng dụng mới ưTIFF, chúng ch a nhi uứng dụng ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện nh Theo m cải ặc biệt sử dụng các phép tính về ma trận đ nh, imread ch tr giúp nh đ u ị dữ liệu ỉ nhận giá trị 1 hoặc ợc sử dụng để ải ần mềm đồ hoạ cực mạnh.tiên trong file Đ nh p thêm các nh t file, s d ng cú pháp để ập trình thực hành bậc cao được sử dụng để ải ừ Matlab Matlab ử dụng để ụng để ược sử dụng để c tr ợc sử dụng để giúp b i đ nh d ng file Ch ng h n, khi đởi các công trình Linpack và ị dữ liệu ạo ra những ứng dụng mới ẳng màu ạo ra những ứng dụng mới ược sử dụng để ử dụng để ụng để c s d ng v i TIFF, ta có th sới ể ử dụng để
d ng m t giá tr ch s v i imread đ ch ra nh mà ta mu n nh p vào.ụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ới ể ỉ nhận giá trị 1 hoặc ải ố phần mềm khác như C++, ập trình thực hành bậc cao được sử dụng để
Ví d sau đây đ c m t chu i 27 nh t m t file TIFF và l u nh ng nh nàyụng để ọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ỗi lần tắt ải ừ Matlab Matlab ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ư ữ lập trình thực hành bậc cao được sử dụng để ảitrong m t m ng 4 chi u Ta có th s d ng hàm iminfo đ xem bao nhiêu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ể ử dụng để ụng để ể
ải ược sử dụng để ư ữ lập trình thực hành bậc cao được sử dụng để
mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array
for frame=1:27
Trang 14[mri(:,:,:,frame),map] = imread('mri.tif',frame);
End
- Khi file ch a nhi uứng dụng ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện nh theo m t s ki u nh tải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ể ất dễ dàng cho người sử đ nh ch ng h n theo th ị dữ liệu ẳng màu ạo ra những ứng dụng mới ứng dụng
t th i gian, ta có th l u nh trong Matlab dực hành bậc cao được sử dụng để ời sử ể ư ải ưới ạo ra những ứng dụng mới.i d ng m ng 4 chi u T t ải ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ất dễ dàng cho người sử
Ghi m t nh đ ho ột công cụ quan trọng trong Matlab ảnh số ồ hoạ ại ảnh
- Hàm imwrite sẽ ghi m tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nh t i m t fileải ới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để đ ho dồ hoạ cực mạnh ạo ra những ứng dụng mới ướii m t trong cácột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
đ nh d ng đị dữ liệu ạo ra những ứng dụng mới ược sử dụng để c tr giúp C u trúc c b n nh t c a imwrite sẽ yêu c u ợc sử dụng để ất dễ dàng cho người sử ơng giao, các phần tử dữ liệu là một mảng ải ất dễ dàng cho người sử ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ần mềm đồ hoạ cực mạnh
m t bi n nh và tên file N u ta g p m t ph n m r ng trong tên file, ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ết quả, cho ải ết quả, cho ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ần mềm đồ hoạ cực mạnh ởi các công trình Linpack và ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để Matlab sẽ nh n ra đ nh d ng mong mu n t nó.ập trình thực hành bậc cao được sử dụng để ị dữ liệu ạo ra những ứng dụng mới ố phần mềm khác như C++, ừ Matlab Matlab
Ví d sau t i m t nh ch s X t m t file Map v i b n đ màu k t h p v i ụng để ải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ừ Matlab Matlab ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ải ồ hoạ cực mạnh ết quả, cho ợc sử dụng để ới
nó map sau đó ghi nh xu ng m t file bitmap.ải ố phần mềm khác như C++, ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
load clown
whos
Name Size Bytes Class
X 200x320 512000 double array
caption 2x1 4 char array
map 81x3 1944 double array
Grand total is 64245 elements using 513948 bytes
imwrite(X,map,'clown.bmp')
Ch ra đ nh d ng ph - Tham s đ c bi t ỉ số (Indexed Images) ịnh chỉ số (Indexed Images) ại ảnh ụng ống Matlab ặc biệt ệu chung về phần mềm Matlab
- Khi s d ng imwrite v i m t s đ nh d ng đ ho , ta có th ch ra các ử dụng để ụng để ới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ị dữ liệu ạo ra những ứng dụng mới ồ hoạ cực mạnh ạo ra những ứng dụng mới ể ỉ nhận giá trị 1 hoặc tham s ph Ch ng h n, v i đ nh d ng PNGố phần mềm khác như C++, ụng để ẳng màu ạo ra những ứng dụng mới ới ị dữ liệu ạo ra những ứng dụng mới ta có th ch ra đ sâu bit ể ỉ nhận giá trị 1 hoặc ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
nh m t tham s ph Ví d sau sẽ chi m tư ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, ụng để ụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nh cải ười sử đ I v i m t fileng ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
nh 4 bit PNG
ải
imwrite(I,'clown.png','BitDepth',4 );
- Đ bi t thêm các c u trúc khác c a hàm xem ph n tr giúp tr c tuy n ể ết quả, cho ất dễ dàng cho người sử ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ần mềm đồ hoạ cực mạnh ợc sử dụng để ực hành bậc cao được sử dụng để ết quả, cho
c a Matlab.ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
Đ c và ghi nh nh phân theo đ nh d ng 1 bitọc thông ải ị dữ liệu ị dữ liệu ạo ra những ứng dụng mới
Trang 15- Trong m t sột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ố phần mềm khác như C++, đ nh d ng file, m tị dữ liệu ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nh nh phân có thải ị dữ liệu ể được sử dụng để ưc l u trong
m t đ nh d ng 1 bit N u đ nh d ng file tr giúp nó, Matlab ghi nh nh ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ị dữ liệu ạo ra những ứng dụng mới ết quả, cho ị dữ liệu ạo ra những ứng dụng mới ợc sử dụng để ải ị dữ liệu.phân nh nh 1 bit theo m cư ải ặc biệt sử dụng các phép tính về ma trận đ nh Khi taị dữ liệu đ c m tọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nh nh phân v iải ị dữ liệu ới đ nhị dữ liệu
d ng 1 bit, Matlab đ i di n nó trong không gian làm vi c nh m t m ng ạo ra những ứng dụng mới ạo ra những ứng dụng mới ệc tính toán, thể hiện ệc tính toán, thể hiện ư ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ảilôgic
- Ví d sau đ c m t nh nh phân và ghi nó dụng để ọc thông ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ị dữ liệu ưới ạo ra những ứng dụng mới.i d ng file TIFF B i vì đ nhởi các công trình Linpack và ị dữ liệu
d ng TIFF tr giúp nh 1 bit, file đạo ra những ứng dụng mới ợc sử dụng để ải ược sử dụng để c ghi lên đĩa theo đ nh d ng 1 bit:ị dữ liệu ạo ra những ứng dụng mới
BW = imread('text.png');
imwrite(BW,'test.tif');
Đ ki m tra chi u sâu bit c a file test.tif, g i hàm iminfo và ki m tra ể ể ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ọc thông ể
trười sử ng BitDepth c a nó:ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
info = imfinfo('test.tif');info.BitDepth
ans =1
Chú ý: Khi ghi file nh phân, Matlab thi t l p trị dữ liệu ết quả, cho ập trình thực hành bậc cao được sử dụng để ười sử ng ColorType thành
‘grayscale’
Xem l p l u tr c a file ới thiệu chung về phần mềm Matlab ư ữ liệu của Matlab, các ứng dụng ủa Matlab, các ứng dụng
- Hàm imwrite s d ng lu t sau đây đ quy t đ nh l p l u tr đử dụng để ụng để ập trình thực hành bậc cao được sử dụng để ể ết quả, cho ị dữ liệu ới ư ữ lập trình thực hành bậc cao được sử dụng để ược sử dụng để ử dụng để c s
d ng trong nh k t qu :ụng để ải ết quả, cho ải
+ logical: N u đ nh d ng nh ra (Output Image) đết quả, cho ị dữ liệu ạo ra những ứng dụng mới ải ược sử dụng để c ch rõ là tr giúp nhỉ nhận giá trị 1 hoặc ợc sử dụng để ải
1 bit, hàm imwrite t o m t file nh 1 bit N u đ nh d ng nh ra đạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ết quả, cho ị dữ liệu ạo ra những ứng dụng mới ải ược sử dụng để c ch ỉ nhận giá trị 1 hoặc
rõ là không tr giúpợc sử dụng để nh 1 bit (nh JPEG), hàmải ư imwrite chuy nể nh t i ải ới
m tột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nh thu c l p uint8.ải ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ới
+ uint8: N u đ nh d ng nh ra đết quả, cho ị dữ liệu ạo ra những ứng dụng mới ải ược sử dụng để c ch rõ là tr giúp nh 8 bit, hàm ỉ nhận giá trị 1 hoặc ợc sử dụng để ải
imwrite t o m t nh 8 bitạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
+ uint16: N u đ nh d ng nh ra đết quả, cho ị dữ liệu ạo ra những ứng dụng mới ải ược sử dụng để c ch rõ tr giúpỉ nhận giá trị 1 hoặc ợc sử dụng để nh 16 bit (PNG ho cải ặc biệt sử dụng các phép tính về ma trận TIFF), hàm imwrite t o m t nh 16 bit.ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải N u đ nh d ng nh ra không tr ết quả, cho ị dữ liệu ạo ra những ứng dụng mới ải ợc sử dụng để giúp nh 16 bit, hàm chuy n đ i d li u nh t i l p uint8 và t o m t nh ải ể ổng quát), ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ải ới ới ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
8 bit
+ double: Matlab chuy n d li u nh t i d ng uint8 và t o m t nh 8 bit ể ữ lập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ải ới ạo ra những ứng dụng mới ạo ra những ứng dụng mới ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
b i vì h u h t các file nh s d ng đ nh d ng 8 bit.ởi các công trình Linpack và ần mềm đồ hoạ cực mạnh ết quả, cho ải ử dụng để ụng để ị dữ liệu ạo ra những ứng dụng mới
Truy v n m t file đ ho ấu trúc dữ liệu của Matlab, các ứng dụng ột công cụ quan trọng trong Matlab ồ hoạ ại ảnh
Trang 16- Hàm imfinfo cho phép ta có th nh nể ập trình thực hành bậc cao được sử dụng để được sử dụng để c thông tin v m t fileề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để nhải
được sử dụng để c tr giúp b i toolbox.ợc sử dụng để ởi các công trình Linpack và
Cú pháp: imfinfo(filename,fmt)
Các thông tin được sử dụng để c cung c p b i hàmất dễ dàng cho người sử ởi các công trình Linpack và imfinfo là: filename, filemodedate, filesize, format, formatversion, width, height, bitdepth, colortype … Thông tin mà ta nh n đập trình thực hành bậc cao được sử dụng để ược sử dụng để c ph thu c vào ki u c a file nh ng nó luôn bao g m ụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ể ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ư ồ hoạ cực mạnh
nh ng thông tin sau:ữ lập trình thực hành bậc cao được sử dụng để
Tên c a file nh.ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ải
Đ nh d ng file nh.ị dữ liệu ạo ra những ứng dụng mới ải
S version c a đ nh d ng file.ố phần mềm khác như C++, ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát), ị dữ liệu ạo ra những ứng dụng mới
Ngày s a đ i file g n nh t.ử dụng để ổng quát), ần mềm đồ hoạ cực mạnh ất dễ dàng cho người sử
Chi u r ng nh tính theo pixel.ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
Chi u cao nh tính theo pixel.ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ải
S lố phần mềm khác như C++, ược sử dụng để ng bít trên m t pixel.ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để
Ki u nh: RGB, ch s …ể ải ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++,
b) Hi n th nh ểm ảnh (Picture Element) ịnh chỉ số (Indexed Images) ảnh số
- Đ hi n th m t nh s d ng hàm imview, dùng hàm imview, ch rõ nh ể ể ị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải ử dụng để ụng để ỉ nhận giá trị 1 hoặc ải
mà ta mu n hi n th Ta có th s d ng imview đ hi n thố phần mềm khác như C++, ể ị dữ liệu ể ử dụng để ụng để ể ể ị dữ liệu m t nh mà ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ải
đã được sử dụng để c nh p vào trong không gian làm vi c c a Matlab.ập trình thực hành bậc cao được sử dụng để ệc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
- N u ta g i hàm imview mà không ch ra m t kì tham s nào, nó sẽ hi n ết quả, cho ọc thông ỉ nhận giá trị 1 hoặc ất dễ dàng cho người sử ố phần mềm khác như C++, ể
th m t h p ch n file cho phép ta ch ra tên file mu n hi n th ị dữ liệu ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ọc thông ỉ nhận giá trị 1 hoặc ố phần mềm khác như C++, ể ị dữ liệu
- N u ta ch ra m t file mà ch a nhi u nh, hàm imview ch hi n th nh ết quả, cho ỉ nhận giá trị 1 hoặc ột ngôn ngữ lập trình thực hành bậc cao được sử dụng để ứng dụng ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ải ỉ nhận giá trị 1 hoặc ể ị dữ liệu ải
đ u tiên trong file đó Đ xem t t c các nh trong file, s d ng hàm ần mềm đồ hoạ cực mạnh ể ất dễ dàng cho người sử ải ải ử dụng để ụng để
imread đ nh p m iể ập trình thực hành bậc cao được sử dụng để ỗi lần tắt nh vào trong không gian làm vi c c a Matlab sauải ệc tính toán, thể hiện ủa Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),
đó g i hàm imview nhi u l n đ hi n th m i nh riêng bi t.ọc thông ề kỹ thuật Matlab tích hợp được việc tính toán, thể hiện ần mềm đồ hoạ cực mạnh ể ể ị dữ liệu ỗi lần tắt ải ệc tính toán, thể hiện