นายสมรัก สุขโศตร์ 58670153 กลุ่ม3302

Post on 14-Apr-2017

109 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

คมอโปรแกรม 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'))

ภาพทเปลยนสแลว

top related