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

60
คู่มือโปรแกรม MATLAB วิชา 876131 หลักการเขียนโปรแกรม จัดทาโดย นาย สมรัก สุขโศตร์ รหัสนิสิต 58670153 กลุ่ม 3302 เสนอ อาจารย์กฤษณะ อิ่มสวาสดิ ภาคการศึกษาที่ 2/2558 คณะภูมิสารสนเทศศาสตร์ มหาวิทยาลัยบูรพา

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

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

คมอโปรแกรม MATLAB

วชา 876131 หลกการเขยนโปรแกรม

จดท าโดย

นาย สมรก สขโศตร

รหสนสต 58670153 กลม 3302

เสนอ

อาจารยกฤษณะ อมสวาสด

ภาคการศกษาท 2/2558

คณะภมสารสนเทศศาสตร มหาวทยาลยบรพา

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

โปรแกรม MATLAB

แมตแลบ (องกฤษ: MATLAB: Matrix Laboratory) เปนซอฟตแวรในการค านวณและการเขยน

โปรแกรมโปรแกรมหนง ทมความสามารถครอบคลมตงแต การพฒนาอลกอรธม การสรางแบบจ าลองทาง

คณตศาสตร และการท าซมเลชนของระบบ การสรางระบบควบคม และโดยเฉพาะเรอง image processing

และ wavelet การสรางเมตรกซ แมตแลบไดเรมตนขนเพอตองการใหเราสามารถแกปญหาตวแปรทม

ลกษณะเปนเมทรดซไดงายขน แมตแลบ เรมพฒนาครงแรกโดย Dr. Cleve Molor ซงเขยนโปรแกรมนขนมา

ดวยภาษาฟอรแทรน โดยโปรแกรมนไดพฒนาภายใตโครงการ LINPACK และ EISPACK แมตแลบ

สามารถท างานไดทงในลกษณะของการตดตอโดยตรง คอการเขยนค าสงเขาไปทละค าสง เพอใหแมตแลบ

ประมวลผลไปเรอยๆ หรอสามารถทจะรวบรวม ชดค าสงเรานนเปนโปรแกรมกได ขอส าคญอยางหนงของ

แมตแลบกคอขอมลทกตวจะถกเกบใน ลกษณะของแถวล าดบ คอในแตละตวแปรจะไดรบการแบงเปน

สวนยอยเลกๆขน ซงการใชตวแปรเปนแถวล าดบ

ภาพของโปรแกรม MATLAB

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

การเรมตนการใชโปรแกรม 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

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

การก าหนดคาตวแปรใน MATLAB ตองเรมตนชอดวยตวอกษรเสมอ ตวแปรใน MATLAB จะถอวา

ตวแปร M นนแตกตางจากตวแปร m เวลาเขยนชอตวแปรใหใชแตตวอกษรเลก (lower-case letters) เสมอ

เพอกนการผดพลาด มรปแบบดงน

ก าหนดตวแปร A ใหเกบคาขอมล ‘Hello GI’ สามารถท าไดดงรปตอไปน

**เมอเราประกาศตวแปลเสรจแลว พอเรากด Enter ขนบรรทดใหมแลว เราจะไมสามารถกลบไปแกไข

ได แตเราสามารถกด บนแปนพมเพอคดลอกค าสงกอนหนา แลวน ามาแกไขได**

การใชสญลกษณ ; (semicolon) เพอยงไมตองการใหโปรแกรมแสดงผลการค านวณ

โดยทเราก าหนดตวแปร a ใหเกบ 5

ก าหนดตวแปร b ใหเกบ 8

ก าหนดตวแปร sum ใหเกบคาของตวแปร a+b

สามารท าไดดงรปตอไปน

ชอตวแปร = ตวเลข หรอนพจนทางคณตศาสตร

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

การสรางอารเรย

อารเรยในโปรแกรม MATLAB สามารถสรางไดโดยการก าหนดคาตวแปรไวดานซายมอแลวตามดวย

เครองหมายเทากบ (=) สวนดานขวามอใหน าคาขอมลมาใสในสญลกษณ [ ] (บกเกต) และคาขอมลหรอคา

ตวเลขระหวางหลกจะถกแยกดวยชองวาง (space)

โดยทเราก าหนดตวแปร a ใหเกบคาเลข 1-5 ใหอยภายใน [ ] สามารถท าไดดงรปตอไปน

การสรางอารเรยใหมหลาย ๆ แถวและหลายมตกสามารถกระท าไดโดยการแบงคาระหวางแถวดวย

สญลกษณ ; ( semicolon ) x = [x1;x2;xn]

การจะท าแบบแนวตง โดยทเราก าหนดตวแปร b ใหเกบคาเลข 1-5 สามารถท าไดดงรปตอไปน

ถาเราท าเปนแนวนอน สามารถใชสญลกษณ ‘ โปรแกรมจะสามารถจ าวาตวแปร b เกบคาเลข 1-5 เรา

สามารถท าไดดงรปตอไปน

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

การสรางอารเรยโดยการใชสญลกษณ colon ( : ) อยระหวางจ านวนจรงสองคาใด ๆ จะหมายถงคาทอยทาง

ซายมอเปนคาเรมตนและคาทอยทางขวามอเปนคาสดทา (Variable = begin : end) โดยโปรแกรม MATLAB

จะท าการสรางคาอารเรยทเพมคาเรมตนทละ 1 คาจนถงคาสดทาย

โดยทเราก าหนดตวแปร a ใหเกบคาตวเลข 1-20 โดยทเราไมจ าเปนตองพมพเลข 1-20

ถาเราตองการแคเลขค โดยทมตวแปร a เกบคาเลข 1-20 เอาไว โดยทเราจะใชสญลกษณ : (colon) และ

[ ] (บกเกต) เราสามารถท าไดตามรปแบบดงน [ตวเลขแรกทเราจะเรม : ชวง : ตวเลขตวสดทาย]

แตถาเราตองการแคเลขค โดยทมตวแปร a เกบคาเลข 1-20 เอาไว โดยทเราจะใชสญลกษณ : (colon)

และ [ ] (บกเกต) เราสามารถท าไดตามรปแบบดงน [ตวเลขแรกทเราจะเรม : ชวง : ตวเลขตวสดทาย]

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

ถาเราตองการจะเรยกคาในตวแปร a ทเกบคาเลขคเอาไว (โปรแกรมจะดจากค าสงลาสด) เราสามารถใช

สญลกษณ ( ) (วงเลบ) และเรากใสต าแหนงของตวเลขทเราอยากใหโปรแกรมแสดงผลเราสามารถท าได

ตามรปแบบดงน (ตวเลข)

การท าตวเลขใหเปนแบบเมทรกซ 3*3

โดยทเราก าหนดใหตวแปร a เกบคาตวเลข 1-9 การท าใหเปนแบบเมทรกซ เราจะใชสญลกษณ ;

(semicolon) ใสขนไวระหวางตวเลข และใช [ ] (บกเกต)

ถาเราตองการจะเรยกคาในตวแปร a ทเกบคาเลข 1-9 ทมลกษณะเปนเมทรกซ (โปรแกรมจะดจากค าสง

ลาสด) เราสามารถใชสญลกษณ ( ) (วงเลบ) ตามรปแบบ (แถว,คอลม) จะไดผลดงน

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

**เราจะใชค าสง clc ในการลางขอมลในสวนของหนาจอ Command Window เพอใหสามารถเขยนค าสง

ใหมได**

การแสดงกราฟแบบ 2 มต

ในภาพจะเหนวามสญลกษณ ; (semicolon) ใสไว

หลงจากทเราประกาศตวแปรแตละบรรทด เพอแสดงวายง

ไมใหโปรแกรมแสดงคานน ดงรปตอไปน

ค าสงการ plot กราฟ

จะไดกราฟดงน

ประกาศตวแปรวา figure คอเพอแสดงเฟรมรปภาพหรอกราฟ

ประกาศตวแปรวา shading คอเปนการไลสของกราฟ

ประกาศตวแปรวา colorbar คอเพอแสดงตารางสทไลส

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

ลกษณะพเศษ

การสรางลกโลก

เมอเราประกาศตวแปรเรยบรอยแลว

ใหกด run change folder จะปรากฎภาพดงน

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

การสรางกราฟแบบ 3 มต

เราจะสงค าสง plot เสมอในการประกาศตวแปร

ดงรปตอไปน

จะไดลกษณะดงน เมอมกราฟแลว แตกยงไมสมบรณ เนองจากยงไมมชอกราฟ

ใชค าสงดงรปแบบน title (‘ชอกราฟ’) ดงค าสงในรป

จะไดกราฟดงน

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

ถาเราตองการใสชอในแกน x สามารถใชค าสงดงรปแบบน xlabel (‘ ชอกราฟ’) ดงค าสงในรป

ถาเราตองการใสชอในแกน y สามารถใชค าสงดงรปแบบน ylabel (‘ ชอกราฟ’) ดงค าสงในรป

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

ค าสงสเราจะใชตวยอ

r = red สแดง

b = blue สฟา

y = yellow สเหลอง

g = green สเขยว

m = magenta สชมพมาเจนตา

c = cyan สคราม

w = white สขาว

k = black สด า

ถาเราตองการจะเปลยนสกราฟ สามารถใชค าสงดงรปแบบน plot (x,y, ‘สทตองการ’)

ดงค าสงในรป

จะไดกราฟดงน

ถาเราตองการท าใหกราฟเปนเสนประ สามารถใชค าสงดงรปแบบน plot (x,y, ‘--r’ )

ดงค าสงในรป จะไดกราฟดงน

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

ถาเราตองการท าใหกราฟเปนเสนประเวนจด สามารถใชค าสงดงรปแบบน plot (x,y, ‘-.r’ )

ดงค าสงในรป จะไดกราฟดงน

ถาเราตองการท าใหกราฟเปนเสนและมวงกลม สามารถใชค าสงดงรปแบบน plot (x,y, ‘-or’ )

ดงค าสงในรป จะไดกราฟดงน

ถาเราตองการท าใหกราฟเปนเสนและมกากบาท สามารถใชค าสงดงรปแบบน plot (x,y, ‘-+r’ )

ดงค าสงในรป จะไดกราฟดงน

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

ถาเราตองการท าใหกราฟเปนเสนและสามเหลยม สามารถใชค าสงดงรปแบบน 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')

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

ถาเราอยากจะเปลยนต าแหนงปายจากดานซายมอ (ทศเหนอ) ไปดานขวามอ (ตะวนตกเฉยงเหนอ) มรปแบบ

ดงน legend('location','northwest') ดงค าสงในรป

จะไดกราฟดงน

ถาเราอยากจะเปลยนต าแหนงปายจากดานบนซาย (ตะวนตกเฉยงเหนอ) เปนดานลางซาย (ตะวนตกเฉยงใต)

มรปแบบดงน legend ('location','southwest') ดงค าสงในรป

จะไดกราฟดงน

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

ถาเราอยากจะเปลยนต าแหนงปายจากดานลางซาย (ตะวนตกเฉยงใต) เปนดานลางขวา (ตะวนออกเฉยงใต)

มรปแบบดงน legend ('location','southeast') ดงค าสงในรป

จะไดกราฟดงน

การแยกกราฟ

ถาเราอยากแสดงกราฟทแยกกน สามารถใชค าสง

subplot(แถว,คอลม,จ านวน plot) เพอจะสรางเฟรม

ก าหนดตวแปร plot(แถว,คอลม,จ านวน plot) เพอจะไดใสคาและน า

คาไปบรรจลงในเฟรม

โดยทเราก าหนด

เครองบน ใหมสแดงและเสนกราฟมลกษณะเปนเสนประ

เรอ ใหมสด าและเสนกราฟลกษณะมสามเหลยม

รถไฟ ใหมสฟาและเสนกราฟมลกษณะเปนเสนจดประ

สามารถท าได ตามค าสงในรปดงน

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

เครองบน จะไดกราฟดงน

สามารถใชค าสงดงรป

เรอ จะไดกราฟดงน

สามารถใชค าสงดงรป

รถไฟ จะไดกราฟดงน

สามารถใชค าสงดงรป

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

เสนทางเกยวกบเครองบน จะไดกราฟดงน

สามารถใชค าสงดงรป

ลกษณะพเศษ

การสรางกราฟ 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 แลวกไปคลกทจดสงสดของกราฟ

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

Topotoobox

การสรางโฟลเดอรในโปรแกรม MATLAB

โดยปกตแลวเวลาเราจะเรยกภาพมาเปดในโปรแกรม MATLAB เราจะไมสามารถท าได ดงนนเราจงตอง

สรางโฟลเดอรเพอเรยกใหไฟลภาพทอยใน Drive D สามารถท าไดดงน

ไปทแถบเมน เลอก Set Path

กดไปท Add Floder

เขาไปใน My Documents > Com_pro > 01 > Topotoolbox-Master

แลวกเลอก Select Folder โปรแกรมจะปรากฏดงรป

แลวเรากกด save

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

โปรแกรมจะกลบมาสหนาจอหลก ใหเราไปทชอง Current Folder เพอทเราจะไปเปดโฟลเดอรปลายทางท

เราตองการเปด ใหเรากดไปท Browse for folder

จะปรากฏขอมลดงรป

แลวใหเราก าหนดตวแปร DEM ใหเกบไฟลภาพทเราก าลงจะเปด

(DEM = Digital Elevation Model ชอเตมแปลวา แบบจ าลองความสงเชงเลข

เนนความสงทเกดขนจรงในภมประเทศจรง ตกอาคารเราไมเหน จะเหนเฉพาะภเขา รองน า)

ตามค าสงดงรป

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

เมอเราก าหนดใหตวแปร DEM เกบคาไฟลภาพ

สามารถใชรปแบบดงน DEM = (‘ชอไฟลภาพ.tif’)

(นามสกลไฟลภาพ .tif = จะใชในภมสารสนเทศศาสตร , .tfw = จะบอกพกดได)

สามารถใชค าสงดงรป

เมอเรากด Enter แลวขอมลของภาพกจะปรากฏขน

ขอมลของรปภาพนนจะมดงน

Z คอความสงของรป

(1095 คอจ านวนแถว 643 คอจ านวนคอลม มหนวยเปนพกเซล)

Cellaize : 30 คอบอกขนาดของพกเซล กวาง*ยาว (30*30 เมตร)

พกเซลคอความละเอยดของภาพ

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

การตรวจสอบตวแปร DEM วาใชไดหรอไม สามารถใชค าสง imagesc(DEM)

แลวเรากกด Enter จะปรากฏภาพดงรป

แสดงสฟา = พนทต า

แสดงสแดงหรอน าตาล = พนทสง

ถาเราอยากจะท าใหภาพแสดงลกษณะทเปนเนนเขาชดเจนยงขน เราสามารถใชค าสง gradient8

สามารถท าไดตามค าสงดงน

จะไดรปดงน

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

การท าใหเปนภาพ 3 มต สามารถใชค าสงดงรป

จะไดรปดงน

การแสดงพนทในรปแบบ plot in 3D สามารถใชค าสงดงรป

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

จะไดรปดงน

ถาเราอยากรความสงของจดทสงทสด ใหเรากดทเครองมอ Data Cursor เพอดจดทสงทสดในรปวาเทากบ

เทาไหร

เครองมอ Data Cursor

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

ถาเราอยากน าขอมลไปใชกบโปรแกรมอน

.txt จะเปนขอมลตวเลขแอสกไฟล

.tif จะเปนขอมลภาพ สามารถท าไดตามค าสงดงรป

การศกษาการไหลของรองน า fill sinks

การศกษาการไหลของรองน าตามสภาพภมประเทศ โดยจะใชขอมล DEM ใชควบคกบ FLOWobj

สามารใชค าสงดงรป

จะไดรปดงน

เราสามารถเหนรองน าไดอยางชดเจน

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

ถาเราตองการใหโปรแกรมแสดงการระบายของลมน าสามารถใชค าสง DB = drainagebasins (FD) ;

และถาตองการใหแสดงการแยกของลมน าสามารถใชค าสง DB = sufflelabel (DB) ;

**หนวยทใชในการแบงคอ ตารางกโลเมตร**

และเมอเรากด Enter แลวโปรแกรมกจะขนขอมลน

จะไดรปดงน

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

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 จะไดรปดงน

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

เมอเราตองการทจะเปดไฟลภาพทเราไปหาในอนเตอรเนต สามารถใชค าสงดงรป

จะไดรปดงน

ถาเราอยากจะแปลงคาสของภาพใหเปนระดบสเทา สามารถใชค าสงดงรป

โดยท a เกบคารป 1.jpg

เมอกด Enter แลวจะปรากฏตวเลข Digital และเรากใชค าสงดงรปเพอเปดภาพขนมา

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

จะไดรปดงน

เราสามารถเรยกดคารงสเชงคลนได โดยใชค าสง imhist (hist มาจากค าวา Histogram) แตกอนทจะใชตอง

ปรบใหภาพเปนสเทากอนถงจะท าได ดงรป

เมอกด Enter จะปรากฎดงรป

size = กวาง*ยาว*จ านวนส

1 >> ชวงคลนเดยว = สเทา

3 >> ชวงคลน 3 ชวงคลน = สแดง สเขยว สฟา (แมส)

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

จะไดรปดงน

จะมแถบวดคาสใตภาพ

ถาเราจะแปลงคาสของภาพใหเปนระดบสขาว-ด า สามารถใชค าสงดงรป

เมอกด Enter แลวจะปรากฏตวเลข Digital และเรากใชค าสงดงรปเพอเปดภาพขนมา

จะไดรปดงน

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

การเพมความคมชดใหแกภาพ

ใหเราพมพค าสงโดยก าหนดใหตวแปร b เกบคารป 2.jpg จะได b = imread (‘2.jpg’) ตามค าสงดงรป

เมอเรากด Enter แลวโปรแกรมจะปรากฏเลขดจตอลดงรป

เมอเราตองการทจะเปดไฟลภาพ สามารถใชค าสงดงรป

จะไดรปดงน

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

เราสามารถเรยกดคารงสเชงคลนได โดยใชค าสง imhist (hist มาจากค าวา Histogram)

แตเงอนไขกคอกอนทจะใชตองปรบใหภาพเปนสเทากอนถงจะท าได รปทเปดมาเปนสเทาอยแลวจง

สามารถท าไดเลย ดงรป

จะไดรปดงน

จะมแถบวดคาสใตกราฟ

เมอเราจะท าใหภาพมความคมชดมากขน สามารถใชค าสง

ชอตวแปร = imadjust (ชอตวแปรทเกบภาพทจะปรบแลว) ดงรป

เมอกด Enter แลวจะปรากฏตวเลข Digital และเรากใชค าสงดงรปเพอเปดภาพขนมา

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

จะไดรปดงน

เปรยบเทยบความแตกตาง

Before After

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

เราสามารถเรยกดคารงสเชงคลนได โดยใชค าสง imhist (hist มาจากค าวา Histogram)

แตเงอนไขกคอกอนทจะใชตองปรบใหภาพเปนสเทากอนถงจะท าได รปทเปดมาเปนสเทาอยแลวจง

สามารถท าไดเลย ดงรป

จะไดรปดงน

จะมแถบวดคาสใตกราฟ

Image Function

เราสามารถใชค าสงในรปแบบของอารเรย ดงรป

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

จะไดดงรป

การตรวจสอบ Webcam

เราสามารถใชฟงกชน imaqtool เพอตรวจสอบ driver ของ webcam

Imaqtool คอการไดมาของภาพ สามารถท าไดดงรป

เมอเรากด Enter โปรแกรมจะขนดงรป

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

ใหเราเลอกขอมลดงรป

และไปท Preview

เลอก start preview เพอเปดกลอง

เลอก stop preview เพอปดกลอง

เปดหนาใหมโดยใช Ctrl+N

ใหเรา copy ขอมลดงรป

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

แลวน าไปวางในหนาตางใหมดงรป

และใหเราเพมค าสงดงรป

หลงจากนนใหเราไปทเครองมอ กด Run ดงรป

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

โปรแกรมจะขนหนาตางดงรป ใหเลอก Change Folder

ใหเรากดถายรป โปรแกรมจะถายตอเนอง 10 รป ไฟลจะเกบใน D: สามารถเปดดได

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

การท าภาพ 3 มต

ใหเราหาภาพจากอนเตอรเนตโดยพมพค าวา Stereo 3D จะปรากฏคภาพ ใหเราเลอกมา 1 ภาพ ในตวอยางดง

รป

ใหเราเปดโปรแกรม Paint

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

ใหเราไปทเครองมอเลอกดงรป

ไปทภาพทเราไดเลอกไวโดยเราจะตดภาพดานซายและกด save ตงชอภาพวา pic1.jpg

ท าอกครงแตเปลยนดานเปนดานขวาและกด save ตงชอภาพวา pic2.jpg ดงรป

เมอเราเปดโปรแกรม MATLAB ขนมา ใหเราไปทชอง The Current Directory และเลอกค าสง Browse for

folder ดงรป

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

ใหเราไปท D: > Com_pro > 01 > 3D > Select Floder ดงรป

โปรแกรมจะปรากฏขอมลดงรป

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

ใหเราเปดหนาตางใหมโดยกด Ctrl+N และพมพค าสงดงรป

และใหเราเปลยนบรรทดท 1 และ 2 เปน

I1 = rgb2gray(imread('pic1.jpg')); I2 = rgb2gray(imread('pic2.jpg'));

เพอใหตรงกบไฟลภาพทเราก าหนดไวในตอนแรก

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

ใหเรากด 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)');

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

ภาพท 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');

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

ภาพท 5

โดยใชค าสง

[features1, validBlobs1] =

extractFeatures(I1, blobs1); [features2, validBlobs2] =

extractFeatures(I2, blobs2); indexPairs =

matchFeatures(features1,

features2, 'Metric', 'SAD', ... 'MatchThreshold', 5);

การจะดภาพไดนนเราจ าเปนจะตองใชแวนตา 3 มต ดงรป

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

Graphical User Interface

GUI ยอมาจาก Graphical User Interface เปน user interface ทสรางขนดวย graphical object แบบตาง ๆคอม

ปมใหผใชคลกเขาไปไดงาย ๆ โดยใชสญลกษณแทน

การสราง GUI ดวย Guide

เขยนค าสง guide และกด Enter ดงรป โปรแกรมจะปรากฏหนาตางดงรป

ใหเรากด ok

โปรแกรมจะปรากฎหนาตางดงรป

แตพอเราเปดขนมาแลวแถบเตรองมอมแตรปภาพใหเราไปท

File > Preferences > กดเลอกเพม Show name > OK ดงรป

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

จะไดดงรป

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

เราจะเรมสรางโดยทใหเราไปทเครองมอ ดงรป

หลก ๆ ทเราจะใชคอ

-Push Button ใชสรางปมเพอใหเรากดเขาไปได

-Axes ใชสรางกราฟหรอรป

Push button > จะเอาไวส าหรบแสดงค าสงดงรป

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

Axes > แสดงกราฟหรอรปภาพ

ใหเราดบเบลคลกเขาไปในรป

จะปรากฏหนาตางนขนมา เปลยนพนหลงเขาไปท Background ดงรป

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

เปลยนขนาดฟอนโดยเขาไปท FontSize เปลยนค าทอยในกรอบ

ไปท Tag เพอใหรชวงของปมดงรป

โดยพมพในชอง

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

เมอเราเปลยนใหปมทเราจะใชกดเรยบรอยแลว ขนตอไปคอการเพมโคด โดยคลกขวา

เลอก View Callbacks > Callback

เมอกดแลวโคดกขนมา

การมองเหนของกราฟ เปน off

โดยทเราก าหนดขอความทอยในชอง Push button คอ

Load image

Gray

Histogram

BW

Reset

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

ค าสงแรก Load image

และใหเราพมพโคดเพมดงรป

ค าสงท 2 Gray

และใหเราพมพโคดเพมดงรป

ค าสงท 3 Histogram

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

และใหเราพมพโคดเพมดงรป

ค าสงท 4 BW

และใหเราพมพโคดเพมดงรป

ค าสงสดทาย Reset

เพอกลบไปเปนคาเรมตน

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

และเรากพมพโคดเพมดงรป

เมอเราเพมเสรจแลวกด Save > Run > Change Floder ดงรป

โปรแกรมจะปรากฏดงรป

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

ใหเราลองกด โดยกดท Load image > D: > Com_pro > 01 > Image

เวลาจะเซฟตองเซฟไวในโฟลเดอร image > save เพราะถาเราไม save ไวใน image มนจะไมสามารถเปดได

กด Load image > เลอกรป > Run > Change Floder

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

จะไดดงรป

กดค าสง Gray จะไดดงรป

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

กดค าสง Histogram จะไดดงรป

กดค าสง BW จะไดดงรป

กดค าสง Reset จะไดดงรป

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

การผสมสภาพถายทางอากาศ

เราจะท าการเปดโฟลเดอรภาพโดยกดค าสงดงรป

D: > Com_pro > LS5 > Select Floder ดงรป

ตอมาใหเราเปดหนาตางใหมโดยใชค าสง Ctrl+N และพมพค าสงดงรป

Cat คอค าสงการผสมสภาพ

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

ตอมาเราจะท าการใหโปรแกรมแสดงผล ใหเราไปท Run > Change Floder ดงรป

จะไดรปดงน

สแดงแสดงพชพรรณ

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

ถาเราตองการเปลยนส ท าไดโดยการเปลยนตวเลข เชน เปลยนจาก

B = histeq(imread('D:\Com_pro\week13\B30.TIF')); เปน

B = histeq(imread('D:\Com_pro\week13\B40.TIF'))

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