Download - นายสมรัก สุขโศตร์ 58670153 กลุ่ม3302
คมอโปรแกรม MATLAB
วชา 876131 หลกการเขยนโปรแกรม
จดท าโดย
นาย สมรก สขโศตร
รหสนสต 58670153 กลม 3302
เสนอ
อาจารยกฤษณะ อมสวาสด
ภาคการศกษาท 2/2558
คณะภมสารสนเทศศาสตร มหาวทยาลยบรพา
โปรแกรม MATLAB
แมตแลบ (องกฤษ: MATLAB: Matrix Laboratory) เปนซอฟตแวรในการค านวณและการเขยน
โปรแกรมโปรแกรมหนง ทมความสามารถครอบคลมตงแต การพฒนาอลกอรธม การสรางแบบจ าลองทาง
คณตศาสตร และการท าซมเลชนของระบบ การสรางระบบควบคม และโดยเฉพาะเรอง image processing
และ wavelet การสรางเมตรกซ แมตแลบไดเรมตนขนเพอตองการใหเราสามารถแกปญหาตวแปรทม
ลกษณะเปนเมทรดซไดงายขน แมตแลบ เรมพฒนาครงแรกโดย Dr. Cleve Molor ซงเขยนโปรแกรมนขนมา
ดวยภาษาฟอรแทรน โดยโปรแกรมนไดพฒนาภายใตโครงการ LINPACK และ EISPACK แมตแลบ
สามารถท างานไดทงในลกษณะของการตดตอโดยตรง คอการเขยนค าสงเขาไปทละค าสง เพอใหแมตแลบ
ประมวลผลไปเรอยๆ หรอสามารถทจะรวบรวม ชดค าสงเรานนเปนโปรแกรมกได ขอส าคญอยางหนงของ
แมตแลบกคอขอมลทกตวจะถกเกบใน ลกษณะของแถวล าดบ คอในแตละตวแปรจะไดรบการแบงเปน
สวนยอยเลกๆขน ซงการใชตวแปรเปนแถวล าดบ
ภาพของโปรแกรม MATLAB
การเรมตนการใชโปรแกรม MATLAB
จด A แสดงแถบเครองมอ
จด B Command Window ค าสงหรอ commands จะถกใสในหนาตางนหลงเครองหมาย >>
(the command prompt) ผลลพทถกแสดงหลงจากผใชใส commands ทงหมดแลวกดปม Enter ทคยบอรด
จด C Workspace ใชเกบคาตวแปรทเขยนใน Command Window
จด D Command History Window ในหนาตาง the command history จะบนทกค าสงตางๆทผใชไดใสท
หนาตางค าสง (The Command History) ตงแตเรมเปดใชโปรแกรม MATLAB
จด E The Current Directory หนาตางนใชเพอแสดงวาในตอนน MATLAB ก าลงตดตอกบแฟม
(Directory) ไหนอย ซงเวลา MATLAB เซฟไฟลจะเซฟลงใน Directory ทแสดงอยน ทงนผใชสามารถเลอก
(Browse) หรอ พมพชอเปลยน the Current Directory ได
จด F Details แสดง Select a file to view details
A
B
D
C
F
E
การก าหนดคาตวแปรใน MATLAB ตองเรมตนชอดวยตวอกษรเสมอ ตวแปรใน MATLAB จะถอวา
ตวแปร M นนแตกตางจากตวแปร m เวลาเขยนชอตวแปรใหใชแตตวอกษรเลก (lower-case letters) เสมอ
เพอกนการผดพลาด มรปแบบดงน
ก าหนดตวแปร A ใหเกบคาขอมล ‘Hello GI’ สามารถท าไดดงรปตอไปน
**เมอเราประกาศตวแปลเสรจแลว พอเรากด Enter ขนบรรทดใหมแลว เราจะไมสามารถกลบไปแกไข
ได แตเราสามารถกด บนแปนพมเพอคดลอกค าสงกอนหนา แลวน ามาแกไขได**
การใชสญลกษณ ; (semicolon) เพอยงไมตองการใหโปรแกรมแสดงผลการค านวณ
โดยทเราก าหนดตวแปร a ใหเกบ 5
ก าหนดตวแปร b ใหเกบ 8
ก าหนดตวแปร sum ใหเกบคาของตวแปร a+b
สามารท าไดดงรปตอไปน
ชอตวแปร = ตวเลข หรอนพจนทางคณตศาสตร
การสรางอารเรย
อารเรยในโปรแกรม MATLAB สามารถสรางไดโดยการก าหนดคาตวแปรไวดานซายมอแลวตามดวย
เครองหมายเทากบ (=) สวนดานขวามอใหน าคาขอมลมาใสในสญลกษณ [ ] (บกเกต) และคาขอมลหรอคา
ตวเลขระหวางหลกจะถกแยกดวยชองวาง (space)
โดยทเราก าหนดตวแปร a ใหเกบคาเลข 1-5 ใหอยภายใน [ ] สามารถท าไดดงรปตอไปน
การสรางอารเรยใหมหลาย ๆ แถวและหลายมตกสามารถกระท าไดโดยการแบงคาระหวางแถวดวย
สญลกษณ ; ( semicolon ) x = [x1;x2;xn]
การจะท าแบบแนวตง โดยทเราก าหนดตวแปร b ใหเกบคาเลข 1-5 สามารถท าไดดงรปตอไปน
ถาเราท าเปนแนวนอน สามารถใชสญลกษณ ‘ โปรแกรมจะสามารถจ าวาตวแปร b เกบคาเลข 1-5 เรา
สามารถท าไดดงรปตอไปน
การสรางอารเรยโดยการใชสญลกษณ colon ( : ) อยระหวางจ านวนจรงสองคาใด ๆ จะหมายถงคาทอยทาง
ซายมอเปนคาเรมตนและคาทอยทางขวามอเปนคาสดทา (Variable = begin : end) โดยโปรแกรม MATLAB
จะท าการสรางคาอารเรยทเพมคาเรมตนทละ 1 คาจนถงคาสดทาย
โดยทเราก าหนดตวแปร a ใหเกบคาตวเลข 1-20 โดยทเราไมจ าเปนตองพมพเลข 1-20
ถาเราตองการแคเลขค โดยทมตวแปร a เกบคาเลข 1-20 เอาไว โดยทเราจะใชสญลกษณ : (colon) และ
[ ] (บกเกต) เราสามารถท าไดตามรปแบบดงน [ตวเลขแรกทเราจะเรม : ชวง : ตวเลขตวสดทาย]
แตถาเราตองการแคเลขค โดยทมตวแปร a เกบคาเลข 1-20 เอาไว โดยทเราจะใชสญลกษณ : (colon)
และ [ ] (บกเกต) เราสามารถท าไดตามรปแบบดงน [ตวเลขแรกทเราจะเรม : ชวง : ตวเลขตวสดทาย]
ถาเราตองการจะเรยกคาในตวแปร a ทเกบคาเลขคเอาไว (โปรแกรมจะดจากค าสงลาสด) เราสามารถใช
สญลกษณ ( ) (วงเลบ) และเรากใสต าแหนงของตวเลขทเราอยากใหโปรแกรมแสดงผลเราสามารถท าได
ตามรปแบบดงน (ตวเลข)
การท าตวเลขใหเปนแบบเมทรกซ 3*3
โดยทเราก าหนดใหตวแปร a เกบคาตวเลข 1-9 การท าใหเปนแบบเมทรกซ เราจะใชสญลกษณ ;
(semicolon) ใสขนไวระหวางตวเลข และใช [ ] (บกเกต)
ถาเราตองการจะเรยกคาในตวแปร a ทเกบคาเลข 1-9 ทมลกษณะเปนเมทรกซ (โปรแกรมจะดจากค าสง
ลาสด) เราสามารถใชสญลกษณ ( ) (วงเลบ) ตามรปแบบ (แถว,คอลม) จะไดผลดงน
**เราจะใชค าสง clc ในการลางขอมลในสวนของหนาจอ Command Window เพอใหสามารถเขยนค าสง
ใหมได**
การแสดงกราฟแบบ 2 มต
ในภาพจะเหนวามสญลกษณ ; (semicolon) ใสไว
หลงจากทเราประกาศตวแปรแตละบรรทด เพอแสดงวายง
ไมใหโปรแกรมแสดงคานน ดงรปตอไปน
ค าสงการ plot กราฟ
จะไดกราฟดงน
ประกาศตวแปรวา figure คอเพอแสดงเฟรมรปภาพหรอกราฟ
ประกาศตวแปรวา shading คอเปนการไลสของกราฟ
ประกาศตวแปรวา colorbar คอเพอแสดงตารางสทไลส
ลกษณะพเศษ
การสรางลกโลก
เมอเราประกาศตวแปรเรยบรอยแลว
ใหกด run change folder จะปรากฎภาพดงน
การสรางกราฟแบบ 3 มต
เราจะสงค าสง plot เสมอในการประกาศตวแปร
ดงรปตอไปน
จะไดลกษณะดงน เมอมกราฟแลว แตกยงไมสมบรณ เนองจากยงไมมชอกราฟ
ใชค าสงดงรปแบบน title (‘ชอกราฟ’) ดงค าสงในรป
จะไดกราฟดงน
ถาเราตองการใสชอในแกน x สามารถใชค าสงดงรปแบบน xlabel (‘ ชอกราฟ’) ดงค าสงในรป
ถาเราตองการใสชอในแกน y สามารถใชค าสงดงรปแบบน ylabel (‘ ชอกราฟ’) ดงค าสงในรป
ค าสงสเราจะใชตวยอ
r = red สแดง
b = blue สฟา
y = yellow สเหลอง
g = green สเขยว
m = magenta สชมพมาเจนตา
c = cyan สคราม
w = white สขาว
k = black สด า
ถาเราตองการจะเปลยนสกราฟ สามารถใชค าสงดงรปแบบน plot (x,y, ‘สทตองการ’)
ดงค าสงในรป
จะไดกราฟดงน
ถาเราตองการท าใหกราฟเปนเสนประ สามารถใชค าสงดงรปแบบน plot (x,y, ‘--r’ )
ดงค าสงในรป จะไดกราฟดงน
ถาเราตองการท าใหกราฟเปนเสนประเวนจด สามารถใชค าสงดงรปแบบน plot (x,y, ‘-.r’ )
ดงค าสงในรป จะไดกราฟดงน
ถาเราตองการท าใหกราฟเปนเสนและมวงกลม สามารถใชค าสงดงรปแบบน plot (x,y, ‘-or’ )
ดงค าสงในรป จะไดกราฟดงน
ถาเราตองการท าใหกราฟเปนเสนและมกากบาท สามารถใชค าสงดงรปแบบน plot (x,y, ‘-+r’ )
ดงค าสงในรป จะไดกราฟดงน
ถาเราตองการท าใหกราฟเปนเสนและสามเหลยม สามารถใชค าสงดงรปแบบน plot (x,y, ‘-^r’ )
ดงค าสงในรป จะไดกราฟดงน
การท ากราฟหลายเสน
สามารใชค าสง
x = [2 5 9 10 21]; จะไดกราฟดงน
y = [3 9 5 11 13];
z = [4 6 9 3 21];
t = [3 4 5 6 7];
plot (x,t, '--r',y,t, '-.b',z,t, '-^k') มการบอกสของแตละเสน
โดยทเราก าหนดใหเกยวกบการขนสง
สด าแทนเรอ (เสนมสามเหลยม)
สน าเงนแทนรถไฟ (เสนมขดกบจด)
สแดงแทนเครองบน (เสนเปนเสนประ) จะไดกราฟดงน
ถาเราตองการใสปายบอกสญลกษณ มรปแบบดงน
legend('airplane','train','ship')
ถาเราอยากจะเปลยนต าแหนงปายจากดานซายมอ (ทศเหนอ) ไปดานขวามอ (ตะวนตกเฉยงเหนอ) มรปแบบ
ดงน legend('location','northwest') ดงค าสงในรป
จะไดกราฟดงน
ถาเราอยากจะเปลยนต าแหนงปายจากดานบนซาย (ตะวนตกเฉยงเหนอ) เปนดานลางซาย (ตะวนตกเฉยงใต)
มรปแบบดงน legend ('location','southwest') ดงค าสงในรป
จะไดกราฟดงน
ถาเราอยากจะเปลยนต าแหนงปายจากดานลางซาย (ตะวนตกเฉยงใต) เปนดานลางขวา (ตะวนออกเฉยงใต)
มรปแบบดงน legend ('location','southeast') ดงค าสงในรป
จะไดกราฟดงน
การแยกกราฟ
ถาเราอยากแสดงกราฟทแยกกน สามารถใชค าสง
subplot(แถว,คอลม,จ านวน plot) เพอจะสรางเฟรม
ก าหนดตวแปร plot(แถว,คอลม,จ านวน plot) เพอจะไดใสคาและน า
คาไปบรรจลงในเฟรม
โดยทเราก าหนด
เครองบน ใหมสแดงและเสนกราฟมลกษณะเปนเสนประ
เรอ ใหมสด าและเสนกราฟลกษณะมสามเหลยม
รถไฟ ใหมสฟาและเสนกราฟมลกษณะเปนเสนจดประ
สามารถท าได ตามค าสงในรปดงน
เครองบน จะไดกราฟดงน
สามารถใชค าสงดงรป
เรอ จะไดกราฟดงน
สามารถใชค าสงดงรป
รถไฟ จะไดกราฟดงน
สามารถใชค าสงดงรป
เสนทางเกยวกบเครองบน จะไดกราฟดงน
สามารถใชค าสงดงรป
ลกษณะพเศษ
การสรางกราฟ 3 มต สามารถใชค าสง ดงน
[x,y] = meshgrid([-2:.2:2]);
Z = x.*exp(-x.^2-y.^2);
figure
surf(x,y,Z,gradient(Z))
gradient(Z)
colorbar
หลงจากทกด Data Cursor กดไปทรปจดทสงทสด จะไดรปดงน
กด Data Cursor แลวกไปคลกทจดสงสดของกราฟ
Topotoobox
การสรางโฟลเดอรในโปรแกรม MATLAB
โดยปกตแลวเวลาเราจะเรยกภาพมาเปดในโปรแกรม MATLAB เราจะไมสามารถท าได ดงนนเราจงตอง
สรางโฟลเดอรเพอเรยกใหไฟลภาพทอยใน Drive D สามารถท าไดดงน
ไปทแถบเมน เลอก Set Path
กดไปท Add Floder
เขาไปใน My Documents > Com_pro > 01 > Topotoolbox-Master
แลวกเลอก Select Folder โปรแกรมจะปรากฏดงรป
แลวเรากกด save
โปรแกรมจะกลบมาสหนาจอหลก ใหเราไปทชอง Current Folder เพอทเราจะไปเปดโฟลเดอรปลายทางท
เราตองการเปด ใหเรากดไปท Browse for folder
จะปรากฏขอมลดงรป
แลวใหเราก าหนดตวแปร DEM ใหเกบไฟลภาพทเราก าลงจะเปด
(DEM = Digital Elevation Model ชอเตมแปลวา แบบจ าลองความสงเชงเลข
เนนความสงทเกดขนจรงในภมประเทศจรง ตกอาคารเราไมเหน จะเหนเฉพาะภเขา รองน า)
ตามค าสงดงรป
เมอเราก าหนดใหตวแปร DEM เกบคาไฟลภาพ
สามารถใชรปแบบดงน DEM = (‘ชอไฟลภาพ.tif’)
(นามสกลไฟลภาพ .tif = จะใชในภมสารสนเทศศาสตร , .tfw = จะบอกพกดได)
สามารถใชค าสงดงรป
เมอเรากด Enter แลวขอมลของภาพกจะปรากฏขน
ขอมลของรปภาพนนจะมดงน
Z คอความสงของรป
(1095 คอจ านวนแถว 643 คอจ านวนคอลม มหนวยเปนพกเซล)
Cellaize : 30 คอบอกขนาดของพกเซล กวาง*ยาว (30*30 เมตร)
พกเซลคอความละเอยดของภาพ
การตรวจสอบตวแปร DEM วาใชไดหรอไม สามารถใชค าสง imagesc(DEM)
แลวเรากกด Enter จะปรากฏภาพดงรป
แสดงสฟา = พนทต า
แสดงสแดงหรอน าตาล = พนทสง
ถาเราอยากจะท าใหภาพแสดงลกษณะทเปนเนนเขาชดเจนยงขน เราสามารถใชค าสง gradient8
สามารถท าไดตามค าสงดงน
จะไดรปดงน
การท าใหเปนภาพ 3 มต สามารถใชค าสงดงรป
จะไดรปดงน
การแสดงพนทในรปแบบ plot in 3D สามารถใชค าสงดงรป
จะไดรปดงน
ถาเราอยากรความสงของจดทสงทสด ใหเรากดทเครองมอ Data Cursor เพอดจดทสงทสดในรปวาเทากบ
เทาไหร
เครองมอ Data Cursor
ถาเราอยากน าขอมลไปใชกบโปรแกรมอน
.txt จะเปนขอมลตวเลขแอสกไฟล
.tif จะเปนขอมลภาพ สามารถท าไดตามค าสงดงรป
การศกษาการไหลของรองน า fill sinks
การศกษาการไหลของรองน าตามสภาพภมประเทศ โดยจะใชขอมล DEM ใชควบคกบ FLOWobj
สามารใชค าสงดงรป
จะไดรปดงน
เราสามารถเหนรองน าไดอยางชดเจน
ถาเราตองการใหโปรแกรมแสดงการระบายของลมน าสามารถใชค าสง DB = drainagebasins (FD) ;
และถาตองการใหแสดงการแยกของลมน าสามารถใชค าสง DB = sufflelabel (DB) ;
**หนวยทใชในการแบงคอ ตารางกโลเมตร**
และเมอเรากด Enter แลวโปรแกรมกจะขนขอมลน
จะไดรปดงน
Image processing
การท า Image processing ใหเราหารปจากอนเตอรเนตกอนและตงชอวา 1.jpg
และเราก าหนดโฟเดอรเปาหมาย เขา D: >> Com_pro >> 01 >> Image >> select floder
และใหเราไปทชอง The Current Directory และเลอกค าสง Browse for folder ดงรป
โปรแกรมจะปรากฏดงรป
ใหเราพมพค าสงโดยก าหนดใหตวแปร a เกบคารป 1.jpg จะได a = imread (‘1.jpg’)
กด Enter จะปรากฎไฟล Digital (ตวเลข 0-255 มาจาก 8 บต ฐาน 2 (2*2*2*2*2*2*2*2))
ใน 1 พกเซล จะบรรจเลข หามต ากวา 0-255 คอคาการสะทอนทเราจะมองเหนได และคาทแสดง
ออกมาจะมแตคาทเปนบวกเทานน
0 = สด า มคาการสะทอนกลบเปน 0
255 = สขาว มคาการสะทอนกลบเปน 255 จะไดรปดงน
เมอเราตองการทจะเปดไฟลภาพทเราไปหาในอนเตอรเนต สามารถใชค าสงดงรป
จะไดรปดงน
ถาเราอยากจะแปลงคาสของภาพใหเปนระดบสเทา สามารถใชค าสงดงรป
โดยท a เกบคารป 1.jpg
เมอกด Enter แลวจะปรากฏตวเลข Digital และเรากใชค าสงดงรปเพอเปดภาพขนมา
จะไดรปดงน
เราสามารถเรยกดคารงสเชงคลนได โดยใชค าสง imhist (hist มาจากค าวา Histogram) แตกอนทจะใชตอง
ปรบใหภาพเปนสเทากอนถงจะท าได ดงรป
เมอกด Enter จะปรากฎดงรป
size = กวาง*ยาว*จ านวนส
1 >> ชวงคลนเดยว = สเทา
3 >> ชวงคลน 3 ชวงคลน = สแดง สเขยว สฟา (แมส)
จะไดรปดงน
จะมแถบวดคาสใตภาพ
ถาเราจะแปลงคาสของภาพใหเปนระดบสขาว-ด า สามารถใชค าสงดงรป
เมอกด Enter แลวจะปรากฏตวเลข Digital และเรากใชค าสงดงรปเพอเปดภาพขนมา
จะไดรปดงน
การเพมความคมชดใหแกภาพ
ใหเราพมพค าสงโดยก าหนดใหตวแปร b เกบคารป 2.jpg จะได b = imread (‘2.jpg’) ตามค าสงดงรป
เมอเรากด Enter แลวโปรแกรมจะปรากฏเลขดจตอลดงรป
เมอเราตองการทจะเปดไฟลภาพ สามารถใชค าสงดงรป
จะไดรปดงน
เราสามารถเรยกดคารงสเชงคลนได โดยใชค าสง imhist (hist มาจากค าวา Histogram)
แตเงอนไขกคอกอนทจะใชตองปรบใหภาพเปนสเทากอนถงจะท าได รปทเปดมาเปนสเทาอยแลวจง
สามารถท าไดเลย ดงรป
จะไดรปดงน
จะมแถบวดคาสใตกราฟ
เมอเราจะท าใหภาพมความคมชดมากขน สามารถใชค าสง
ชอตวแปร = imadjust (ชอตวแปรทเกบภาพทจะปรบแลว) ดงรป
เมอกด Enter แลวจะปรากฏตวเลข Digital และเรากใชค าสงดงรปเพอเปดภาพขนมา
จะไดรปดงน
เปรยบเทยบความแตกตาง
Before After
เราสามารถเรยกดคารงสเชงคลนได โดยใชค าสง imhist (hist มาจากค าวา Histogram)
แตเงอนไขกคอกอนทจะใชตองปรบใหภาพเปนสเทากอนถงจะท าได รปทเปดมาเปนสเทาอยแลวจง
สามารถท าไดเลย ดงรป
จะไดรปดงน
จะมแถบวดคาสใตกราฟ
Image Function
เราสามารถใชค าสงในรปแบบของอารเรย ดงรป
จะไดดงรป
การตรวจสอบ Webcam
เราสามารถใชฟงกชน imaqtool เพอตรวจสอบ driver ของ webcam
Imaqtool คอการไดมาของภาพ สามารถท าไดดงรป
เมอเรากด Enter โปรแกรมจะขนดงรป
ใหเราเลอกขอมลดงรป
และไปท Preview
เลอก start preview เพอเปดกลอง
เลอก stop preview เพอปดกลอง
เปดหนาใหมโดยใช Ctrl+N
ใหเรา copy ขอมลดงรป
แลวน าไปวางในหนาตางใหมดงรป
และใหเราเพมค าสงดงรป
หลงจากนนใหเราไปทเครองมอ กด Run ดงรป
โปรแกรมจะขนหนาตางดงรป ใหเลอก Change Folder
ใหเรากดถายรป โปรแกรมจะถายตอเนอง 10 รป ไฟลจะเกบใน D: สามารถเปดดได
การท าภาพ 3 มต
ใหเราหาภาพจากอนเตอรเนตโดยพมพค าวา Stereo 3D จะปรากฏคภาพ ใหเราเลอกมา 1 ภาพ ในตวอยางดง
รป
ใหเราเปดโปรแกรม Paint
ใหเราไปทเครองมอเลอกดงรป
ไปทภาพทเราไดเลอกไวโดยเราจะตดภาพดานซายและกด save ตงชอภาพวา pic1.jpg
ท าอกครงแตเปลยนดานเปนดานขวาและกด save ตงชอภาพวา pic2.jpg ดงรป
เมอเราเปดโปรแกรม MATLAB ขนมา ใหเราไปทชอง The Current Directory และเลอกค าสง Browse for
folder ดงรป
ใหเราไปท D: > Com_pro > 01 > 3D > Select Floder ดงรป
โปรแกรมจะปรากฏขอมลดงรป
ใหเราเปดหนาตางใหมโดยกด Ctrl+N และพมพค าสงดงรป
และใหเราเปลยนบรรทดท 1 และ 2 เปน
I1 = rgb2gray(imread('pic1.jpg')); I2 = rgb2gray(imread('pic2.jpg'));
เพอใหตรงกบไฟลภาพทเราก าหนดไวในตอนแรก
ใหเรากด save > Run > Change Floder ดงรป
โปรแกรมจะคอย ๆ เปดภาพขนมาทละภาพ ภาพทจะใหเหนภาพ 3 มตชดจะปรากฏภาพประมาณ 7-8 ภาพ
ภาพท 1
โดยใชค าสง
I1 = rgb2gray
(imread('pic1.jpg')); I2 = rgb2gray
(imread('pic2.jpg')); imshowpair(I1, I2,'montage'); title('I1 (left); I2 (right)');
ภาพท 2
โดยใชค าสง
Imshowpair
(I1,I2,'ColorChannels','red-cyan');
Title
('Composite Image (Red - Left Image,
Cyan - Right Image)');
ภาพท 3
โดยใชค าสงทหาจดทเหมอนกน
blobs1 = detectSURFFeatures(I1,
'MetricThreshold', 2000); blobs2 = detectSURFFeatures(I2,
'MetricThreshold', 2000);
ภาพท 4
โดยใชค าสง
imshow(I2); hold on; plot(selectStrongest(blobs2, 30)); title('Thirty strongest SURF features
in I2');
ภาพท 5
โดยใชค าสง
[features1, validBlobs1] =
extractFeatures(I1, blobs1); [features2, validBlobs2] =
extractFeatures(I2, blobs2); indexPairs =
matchFeatures(features1,
features2, 'Metric', 'SAD', ... 'MatchThreshold', 5);
การจะดภาพไดนนเราจ าเปนจะตองใชแวนตา 3 มต ดงรป
Graphical User Interface
GUI ยอมาจาก Graphical User Interface เปน user interface ทสรางขนดวย graphical object แบบตาง ๆคอม
ปมใหผใชคลกเขาไปไดงาย ๆ โดยใชสญลกษณแทน
การสราง GUI ดวย Guide
เขยนค าสง guide และกด Enter ดงรป โปรแกรมจะปรากฏหนาตางดงรป
ใหเรากด ok
โปรแกรมจะปรากฎหนาตางดงรป
แตพอเราเปดขนมาแลวแถบเตรองมอมแตรปภาพใหเราไปท
File > Preferences > กดเลอกเพม Show name > OK ดงรป
จะไดดงรป
เราจะเรมสรางโดยทใหเราไปทเครองมอ ดงรป
หลก ๆ ทเราจะใชคอ
-Push Button ใชสรางปมเพอใหเรากดเขาไปได
-Axes ใชสรางกราฟหรอรป
Push button > จะเอาไวส าหรบแสดงค าสงดงรป
Axes > แสดงกราฟหรอรปภาพ
ใหเราดบเบลคลกเขาไปในรป
จะปรากฏหนาตางนขนมา เปลยนพนหลงเขาไปท Background ดงรป
เปลยนขนาดฟอนโดยเขาไปท FontSize เปลยนค าทอยในกรอบ
ไปท Tag เพอใหรชวงของปมดงรป
โดยพมพในชอง
เมอเราเปลยนใหปมทเราจะใชกดเรยบรอยแลว ขนตอไปคอการเพมโคด โดยคลกขวา
เลอก View Callbacks > Callback
เมอกดแลวโคดกขนมา
การมองเหนของกราฟ เปน off
โดยทเราก าหนดขอความทอยในชอง Push button คอ
Load image
Gray
Histogram
BW
Reset
ค าสงแรก Load image
และใหเราพมพโคดเพมดงรป
ค าสงท 2 Gray
และใหเราพมพโคดเพมดงรป
ค าสงท 3 Histogram
และใหเราพมพโคดเพมดงรป
ค าสงท 4 BW
และใหเราพมพโคดเพมดงรป
ค าสงสดทาย Reset
เพอกลบไปเปนคาเรมตน
และเรากพมพโคดเพมดงรป
เมอเราเพมเสรจแลวกด Save > Run > Change Floder ดงรป
โปรแกรมจะปรากฏดงรป
ใหเราลองกด โดยกดท Load image > D: > Com_pro > 01 > Image
เวลาจะเซฟตองเซฟไวในโฟลเดอร image > save เพราะถาเราไม save ไวใน image มนจะไมสามารถเปดได
กด Load image > เลอกรป > Run > Change Floder
จะไดดงรป
กดค าสง Gray จะไดดงรป
กดค าสง Histogram จะไดดงรป
กดค าสง BW จะไดดงรป
กดค าสง Reset จะไดดงรป
การผสมสภาพถายทางอากาศ
เราจะท าการเปดโฟลเดอรภาพโดยกดค าสงดงรป
D: > Com_pro > LS5 > Select Floder ดงรป
ตอมาใหเราเปดหนาตางใหมโดยใชค าสง Ctrl+N และพมพค าสงดงรป
Cat คอค าสงการผสมสภาพ
ตอมาเราจะท าการใหโปรแกรมแสดงผล ใหเราไปท Run > Change Floder ดงรป
จะไดรปดงน
สแดงแสดงพชพรรณ
ถาเราตองการเปลยนส ท าไดโดยการเปลยนตวเลข เชน เปลยนจาก
B = histeq(imread('D:\Com_pro\week13\B30.TIF')); เปน
B = histeq(imread('D:\Com_pro\week13\B40.TIF'))
ภาพทเปลยนสแลว