Matlab GUI là giao di n hình nh c aăch ngătrình,ăchúngăbaoăg m các nút b m,ă cácă thanhă tr t, các c a sổ,ă menuầă đ c s d ngă đ cung c pă choă ng i dùng m tămôiătr ng làm vi căđ năgi n và thu n ti n.
Đ b tăđ u, s d ng l nh
>> guide
43
- Blank GUI (Default): H p h i tho i GUI tr ng, không có m tăđi u khi n nào.
- GUI with Uicontrols: H p h i tho i GUI v i m tăvƠiăđi u khi n,ăch ngă trình có th ch y ngay.
- GUI with Axes Menu: H p h i tho i GUI v i m t uicontrol axs và button,
cácămenuăđ hi n th đ th .
- Modal Question Dialog: H p h i tho iăđặt câu hỏi Yes, No. Đ th c thi m tăch ngătrình GUI, ph i bao g m hai t p tin: - T p tin có ph n m r ng .fig ch a n i dung giao di n.
- T p tin có ph n m r ng .m ch a nh ngăđo nămƣăliênăquanăđ n giao di n. Trong ph n menu, quan tr ng nh t là munu Tools:
- Run (Ctrl+T) : Ch yăch ngătrìnhăđƣăvi t. - Align Object : Canh d căcácăđi u khi n.
- Grid and Rulers: Hi n th l i tr giúpăđ v giao di n. - Menu Editor: T oămenuăchoăđi u khi n.
- Gui Options: tuỳ ch nh khác.
44
3.1.4.Phơnăđo năvƠătáchăđ ng vi n trong Malab
ụăt ng tổng quát cho vi c phân đoƠnăvƠătáchăđ ng vi năđ u xu t phát từ nh ng ng d ng th c t . Chẳng h nănh ătrongătruy n hình hay công ngh m t nhìn nhân t o. Vi c x lý và truy n d n m tăl ng r tăl năcácăd li u hình nh từ nhi u kênh, nhi u chi u là r t ph c t p.ăĐ đápă ng th c t đó,ăc n ph i gi m b t d li u trong từng hình nh. Ch d l i nh ng thông tin quan tr ngăđápă ng nhu c u mà ng i s d ngăquanătơmănh ngăkhôngălƠmăsaiăl chăhayăthayăđổi thông tin. M căđíchă c a vi căphơnăđo năvƠătáchăđ ng bao là trích ra nh ng vùng trong nh, t c là chia nh thành nh ngă vùngă đ c bi u th bằng giá tr c a các pixel chung nh t. Chẳng h nănh ăchúngăcóăcùngăđ sang, cùng màu s c.
M t trong nh ngăph ngăphápăđ năgi n nh tăđ th c hi năphơnăđo n và tách đ ng vi n là kỹ thu t l păhoƠnhăđ (histogramming)ăvƠăđặtăng ỡng (thresholding). VìăhoƠnhăđ c a m t nhăđặcătr ngăchoăm tăđ xác su t xu t hi n c a giá tr m c xámăxácăđ nh. Các nhăthìăđ c t o thành b iăcácăđ iăt ng sáng trên m t n n t i, vì tách nh t călƠătríchăcácăđ iăt ng sáng ra. V i m t nhănh ăv yăthìăhoƠnhăđ c a nóăluônăcóăhaiăđnh c căđ i và m t ch lõm gi a hai c căđ iăđó. Sau khi v đ c hoƠnhăđ c a nh,ăthìăb c ti p theo là ch n giá tr ng ỡngăđ trích ra giá tr đnh và các giá tr m c xám c a n n. V i cách làm này thì giá tr ng ỡng ít nh tăcũngăbằng giá tr các m c xám c a vùng lõm gi aăcácăđnh c aăhoƠnhăđ c a nh g c.ăB c ti pă theoă lƠă đánhă d u ch s cho các pixels có giá tr m c xám l nă h nă giáă tr ng ỡngănh ălƠăcácăpixelsăc aăđ iăt ng, còn các pixels có giá tr nhỏh năng ỡng là các pixel c a nh n n.
Ph ngăphápăphơnăđo n nhăvƠătáchăcácăđ ng vi năđ c t p h p thành hai lo iăchính.ăĐóălƠăph ngăphápăd a trên s l yăng ỡngăcácăpixelsăvƠăph ngăphápă d a trên s bi năđổi,ătrongăđóăcóăhaiăphépăbi năđổi quan trong là bi năđổi Hough và bi năđổi Watershed. [13]
Trongă Matlab,ă đ tínhă ng ỡng toàn c c (Th) cho m t nh, d ng hàm graythresh. Hàm này có cú pháp: Th = graythresh(f)
45
Đ uătiênăgraythreshătínhăhoƠnhăđ c a nhăf,ăsauăđóăm i tính giá tr ng ỡng Th. Giá tr ng ỡng Th đ c chu n hoá trong vùng từ0ăđ n 1.
Và vi cătáchăđ ng vi năđ c th c hi n nh hàm edge v i cú pháp: [BW,th]ă=ăedge(f,ă„mask‟,ăparameters)
TrongăđóăBWălƠă nh nh phân l i ra, th là tham s ch cănĕng,ănóăchoăbi t ng ỡngăđ c s d ngăđ xácăđ nh s sai khác v c ngăđ đ m nhăđ phát hi n đ ng vi n. BW là m t m ng logic có giá tr 1 t i nh ngăn iăcóăđ ng vi n và giá tr 0 t iăcácăn iăkhác.ăfălƠă nhăc ngăđ l iăvƠo,ăcònă„mask‟ălƠăb l c, đơyăcóăcácă b l că nh :ă „Sobel‟,ă „Prewitt‟,ă „Roberts‟,ă „Laplacian ofă Gausiană (LoG)‟,ă „Zeroă Crossings‟ăvƠă„Canny‟.ăTrongăđóăph ngăphápă„Canny‟ălƠăph ngăphápăkháăhi u qu . [13]
Ví d :
>> I = imread('C:\Users\HO VAN THU\Desktop\spkt.jpg'); >> BW = im2bw(I); >> BW1 = edge(BW,'canny'); >> imshow(BW1) K t qu : a b Hình 3.5: ̉nh tách biên