คู่มือโปรแกรม MATLAB
วิชา 876131 หลักการเขียนโปรแกรม
จัดทาโดย
นางสาวพรเมษา คนชม
รหัสนิสิต 58170016 กลุ่ม 01
เสนอ
อาจารย์กฤษณะ อิ่มสวาสดิ์
ภาคการศึกษาที่ 2/2558
คณะภูมิสารสนเทศศาสตร์ มหาวิทยาลัยบูรพา
MATLAB
แมตแล็บเป็นซอฟต์แวร์ในการคานวณและการเขียนโปรแกรม โปรแกรมหนึ่งที่มีความสามารถ
ครอบคลุมตั้งแต่ การพัฒนาอัลกอริธึม การสร้างแบบจาลองทางคณิตศาสตร์ และการทาซิมูเลชั่นของระบบ
การสร้างระบบควบคุม และโดยเฉพาะเรื่อง image processing และ wavelet การสร้างเมตริกซ์ ผลิตโดย
บริษัทแมตเวิรกส์ ตัวแทนจาหน่ายในประเทศไทยคือ บริษัท เทคซอร์ส ซิสเท็มส์ (ประเทศไทย) จากัด
การใช้งานโปรแกรมเบื้องต้น
หน้าต่างของโปรแกรม
 การกาหนดค่าตัวแปรให้เป็นตัวอักษร
เราสามารถการกาหนดค่าตัวแปรให้เป็นตัวอักษรในโปรแกรม matlab ได้โดยการใส่ข้อความที่จะ
กาหนดให้ตัวแปรในเครื่องหมายคาพูด รูปแบบคือ ตัวแปร = ‘ข้อความ’
ตัวอย่างเช่น กาหนดให้ตัวแปร A ให้เก็บคาว่า Hello Gi
สามารถทาได้ดังภาพ
 การกาหนดค่าให้กับตัวแปร
การกาหนดค่าให้กับตัวแปรสามารถกระทาได้โดยการใช้เครื่องหมายเท่ากับ ( = ) แล้วตามด้วยตัว
เลขที่ต้องการกาหนดให้ตัวแปรและจบด้วยเครื่องหมาย semicolon ( ; ) รูปแบบคือ ตัวแปร = ตัวเลข;
ตัวอย่าง กาหนด ค่า a = 5; และ b = 8;
เราสามารถนาค่าที่กาหนดให้ตัวแปรไปคานวณต่อได้
ตัวอย่าง sum คือ การหาผลรวม
sum = a+b เป็นการหาผลรวมของ a+b
เนื่องจาก a = 5; และ b = 8; ดังนั้น sum จึงมีค่าเท่ากับ 13
 การสร้างอาร์เรย์
ในการสร้างอาร์เรย์นั้นสามารถทาได้โดยการกาหนดค่าตัวแปรไว้ทางด้ายซ้ายมือ ตามด้วย
เครื่องหมายเท่ากับส่วนทางด้านขวาเป็นข้อมูลซึ่งจะอยู่ภายในเครื่องหมายบักเก็ต ( [ ] )
- การสร้างอาเรย์ให้มีหลายๆหลักค่าของข้อมูลระหว่างหลักจะถูกแยกด้วยช่องว่างหรือ spacebar
ตัวอย่าง a = [ 1 2 3 4 5] เป็นเมตริกซ์ที่มี 1 แถว 5 หลัก ดังตัวอย่างในภาพ
- การสร้างอาเรย์ให้มีแถวหลายๆแถว โดยการใช้เครื่องหมาย semicolon ( ; )
คั่นระหว่างแถว
ตัวอย่าง b = [1 ; 2 ; 3 ; 4 ; 5] เป็นเมตริกซ์ 5 แถว 1 หลัก ดังตัวอย่างในภาพ
หากต้องการเปลี่ยนให้ข้อมูลกลับมาอยู่แนวนอนทาได้โดยการใส่เครื่องหมาย (’) ไว้หลังตัวแปรซึ่ง
โปรแกรมจะจาค่าของตัวแปรที่กาหนดไว้ได้เช่นตัวอย่างดังภาพ
- การสร้างอาร์เรย์โดยใช้เครื่องหมาย colon ( : )
ถ้าเครื่องหมาย colon ( : ) อยู่ตรงกลางระหว่างจานวนจริง 2 จานวน จะมีความหมายว่า “ถึง”
ทางซ้ายเป็นค่าเริ่มต้นตามด้วยเครื่องหมาย colon ( : ) ทางขวาเป็นค่าสุดท้าย อยู่ภายในเครื่องหมายบักเก็ต
( [ ] ) โดยจะเพิ่มค่าเริ่มต้นทีละ 1 ค่าจนถึงค่าสุดท้าย ตัวอย่างดังภาพ
ถ้าเครื่องหมาย colon ( : ) แยกจานวนจริง 3 จานวนอยู่ภายในเครื่องหมายบักเก็ต ( [ ] ) ค่าทาง
ซ้ายมือจะเป็นค่าเริ่มต้น ค่าตรงกลางเป็นช่วงเพิ่มขึ้น ค่าทางขวามือเป็นค่าสุดท้าย ตัวอย่างดังภาพ
หากเราต้องการเรียกค่าที่ถูกเก็บไว้ในตัวแปร a ซึ่งโปรแกรมจะดูจากคาสั่งการกาหนดค่าให้กับตัว
แปรล่าสุด เราสามารถทาได้โดยใช้เครื่องหมายวงเล็บ ( ) และใส่ตาแหน่งของค่าที่เราต้องการทราบ
รูปแบบ คือ ตัวแปร ( ตาแหน่งของค่าที่ต้องการ ) ตัวอย่างดังภาพ
- การสร้างอาร์เรย์หลายๆแถวหลายๆหลัก โดยการใช้เครื่องหมาย semicolon ( ; ) คั่นระหว่างแถว
และระหว่างหลักจะถูกแยกด้วยช่องว่างหรือ spacebar
ตัวอย่าง x = [1 2 3 ; 4 5 6 ; 7 8 9 ] เป็นเมตริกซ์ที่มี
3 แถว 3 หลัก ดังตัวอย่างในภาพ
หากต้องการเรียกค่าที่ถูกเก็บไว้ในตัวแปร a ที่มีลักษณะเป็นเมตริกซ์ โปรแกรมจะดูจากคาสั่งการ
กาหนดค่าให้กับตัวแปรล่าสุด เราสามารถทาได้โดยใช้เครื่องหมายวงเล็บ ( ) และใส่ตาแหน่งแถวและหลัก
ของค่าที่เราต้องการทราบ
รูปแบบ คือ ตัวแปร ( แถว,หลัก ) ตัวอย่างดังภาพ
** คาสั่ง clc คือ คาสั่ง ในการล้างข้อมูลในส่วนของหน้าจอ Command Window เพื่อให้สามารถ
เขียนคาสั่งใหม่ได้
 การสร้างกราฟ 3 มิติ
surf เป็นคาสั่งในการวาดกราฟพื้นผิว จะได้กราฟดัง
ภาพ >>>
- หากต้องการไล่เฉดสีของกราฟ ให้เพิ่มคาสั่ง shading interp ลงไป จะได้กราฟดังภาพ
- หากต้องการให้ภาพแสดงตารางไล่เฉดสี โดยเพิ่มคาสั่ง colourbarลงไป ซึ่งจะได้ออกมาดังภาพ
- หากต้องการให้กราฟเป็นรูปพื้นผิวร่างแห ให้เพิ่มคาสั่ง mesh(xx,yy,zz)ลงไป จะได้กราฟดังภาพ
 การสร้างลูกโลก
- กด New script หรือ Ctrl + N จะได้หน้าต่างขึ้นมาดังภาพ
- เขียนโค้ดขึ้นดังภาพ เมื่อเสร็จให้ทาการ Save
- จากนั้นกด Run จะปรากฏหน้าต่างขึ้นมาให้เลือก Change Folder
- เสร็จแล้วเราจะได้ลูกโลกออกมาดังภาพ
Plot
การใช้ฟังก์ชัน plot ในโปรแกรม MATLAB สิ่งสาคัญที่ควรจะต้องมี
คือ ค่าเมทริกซ์ / เวกเตอร์(matrices/vectors) และควรจะมีขนาดของมิติที่
เท่ากัน ตัวอย่างดังภาพ
จะได้ลักษณะของกราฟดังนี้
 การใส่ป้ายชื่อ สามารถทาได้โดยคาสั่ง
title (‘ชื่อกราฟ’) ตัวอย่างดังภาพ
 การแสดงป้ายชื่อในแกน x รูปแบบคือ
xlabel (‘ ชื่อกราฟ’) ตัวอย่างดังภาพ
 การแสดงป้ายชื่อในแกน y รูปแบบคือ
ylabel (‘ ชื่อกราฟ’) ตัวอย่างดังภาพ
 การเปลี่ยนสีของเส้นกราฟ รูปแบบ คือ
plot (x,y, ‘สีที่ต้องการ’) ตัวอย่างดังภาพ
 การเปลี่ยนลักษณะของเส้นกราฟให้เป็น
เส้นประ รูปแบบ คือ plot (x,y, ‘ - -สีที่
ต้องการ’) ตัวอย่างดังภาพ
 การเปลี่ยนลักษณะของเส้นกราฟให้เป็น
เส้นประและจุด รูปแบบ คือ plot (x,y, ‘ - . สีที่
ต้องการ’) ตัวอย่างดังภาพ
 การเปลี่ยนลักษณะของเส้นกราฟให้เป็น
เส้นประและเครื่องหมายบวก รูปแบบ คือ plot
(x,y, ‘ – + สีที่ต้องการ’) ตัวอย่างดังภาพ
 การเปลี่ยนลักษณะของเส้นกราฟให้เป็น
เส้นประและวงกลม รูปแบบ คือ plot (x,y,
‘ – O สีที่ต้องการ’) ตัวอย่างดังภาพ
 การทาเส้นกราฟให้มีหลายเส้น สามารถทาได้ตาม
ตัวอย่างในภาพ โดย plot (x,t, '--r',y,t, '-.b',z,t, '-^k')
จะเป็นการบอกลักษณะและสีของเส้นกราฟในแต่
ละเส้น
 การใส่ป้ายบอกสัญลักษณ์ รูปแบบ คือ legend
('airplane','train','ship') ตัวอย่างดังภาพ
 ถ้าต้องการเปลี่ยนตาแหน่งป้ายจากด้านซ้ายมือ (ทิศ
เหนือ) ไปด้านขวามือ (ตะวันตกเฉียงเหนือ) รูปแบบ
คือ legend ('location','northwest') ตัวอย่างดังภาพ
 ถ้าต้องการเปลี่ยนตาแหน่งป้ายจากด้านบนซ้าย
(ตะวันตกเฉียงเหนือ) เป็นด้านล่างซ้าย (ตะวันตกเฉียง
ใต้)รูปแบบ คือ legend ('location','southwest') ตัวอย่าง
ดังภาพ
 ถ้าต้องการแสดงกราฟที่แยกกัน สามารถใช้คาสั่ง subplot (แถว,คอลัม,จานวน plot) เพื่อจะสร้าง
เฟรม กาหนดตัวแปร plot (แถว,คอลัม,จานวน plot) เพื่อจะได้ใส่ค่าและนาค่าไปบรรจุลงในเฟรม
ตัวอย่าง กาหนด
เครื่องบิน ให้มีสีแดงและเส้นกราฟมีลักษณะเป็นเส้นประ
เรือ ให้มีสีดาและเส้นกราฟลักษณะมีสามเหลี่ยม
รถไฟ ให้มีสีฟ้าและเส้นกราฟมีลักษณะเป็นเส้นจุดประ
สามารถทาได้ดังนี้
การแสดงกราฟแบบสามมิติ
สามารถทาได้ตามตัวอย่าง ดังรูป
TopoToolbox
ไปที่แถบเมนู เลือก Set Path จากนั้นกดไปที่ Add Floder ตัวอย่างดังภาพ
เข้าไปใน My computer > Com_pro > 01 > Topotoolbox-Master แล้วก็เลือก Select Folder ดังรูป
เสร็จแล้วให้กด save
ไปที่เมนู Browse for folder เลือก folder ที่ชื่อว่า DEM คลิก
Select folder
Dem คืออะไร
Digital elevation modem = แบบจาลองความสูงเชิงเลข
Dem จะเห็นเฉพาะ ภูเขาและร่องน้าเท่านั้น
เราต้องการเปิดไฟล์ภาพเขาคิชกูด โดย Obj = odject
โดยบอกรายละเอียดของภาพทั้งหมด มี 1095 แถว 643 คอลัมบ์
คาสั่งต่อไปนี้เป็นคาสั่งเปิดไฟล์ภาพ
check ข้อมูล DEM ว่าใช้ได้หรือไม่โดยใช้คาสั่ง imagesc(DEM) จะได้รูปดังนี้
แล้วทาการปรับเชิงคลื่นหรือ Histogram ของภาพ DEM เพื่อเป็นการดู Hillshade แสดงความลาด
ชันที่ชัดเจนมากยิ่งขึ้นโดยมีการใช้ ฟังก์ชัน gradient เป็นการไล่ shade สีและได้กาหนดไว้ที่ 8 ระดับ จะได้
รูปดังนี้
การทาให้เป็นภาพ 3 มิติ สามารถใช้คาสั่งได้ดังรูป
จะได้รูปดังนี้
การแสดงพื้นที่ในรูปแบบ plot in 3D DEMc คือ การกาหนดขอบเขตข้อมูลที่ต้องการตัดมาแสดง
บางส่วนโดยในคาสั่ง crop ตัวอย่างดังภาพ
DEMc = crop(DEM,sub2ind(DEM.size,[150 350],[150 350]));
[Z,x,y] = GRIDobj2mat(DEMc);
surf(x,y,double(Z))
จะได้ภาพดังนี้
การนาข้อมูลออกไปใช้ในโปรแกรมอื่นสามารถทาได้2 วิธี
1 . การนาออกไปเป็นข้อมูล ascii ไฟล์ โดยใช้คาสั่ง GRIDobj2ascii(DEMc,'test.txt');
2. การนาข้อมูลออกไปเป็นข้อมูลภาพ โดยใช้คาสั่ง GRIDobj2geotiff(DEMc,'test.tif');
GRIDobj2ascii(DEMc,'test.txt');
GRIDobj2geotiff(DEMc,'test.tif');
Fill sinks คาสั่งที่ใช้ในการศึกษาการไหลของน้าตามสภาพภูมิประเทศ โดยจะใช้ข้อมูล DEM และ
นาไปใช้ควบคู่กับ FLOWobj ถ้าไม่มีการทา Fill sinks ก่อนก็จะไม่สามารถวิเคราะห์กระบวนการต่อๆไปได้
จะได้รูปดังนี้
การระบายของลุ่มน้า Drainagebasins
 ถ้าต้องการให้โปรแกรมแสดงการระบายของลุ่มน้าสามารถใช้คาสั่ง DB = drainagebasins (FD) ;
 ถ้าต้องการให้แสดงการแยกของลุ่มน้าสามารถใช้คาสั่ง DB = sufflelabel (DB) ;
จะได้รูปดังนี้
Image Processing
อันดับแรกทาการเสิร์ชรูปภาพที่ต้องการนามาใช้จาก internet จากนั้น save ภาพใน Disk (D:)
Com_pro 01 image โดยตั้งชื่อไฟล์รูปภาพว่า 1.jpg
เปิดโปรแกรม Matlab
เลือก Browse for folder Disk (D:) Com_pro 01 image
ไฟล์ภาพจะขึ้นมาที่หน้าต่างฝั่งซ้ายมือ
• ฟังก์ชันที่ทาหน้าที่อ่านไฟล์ภาพ คือ imread เราสามารถทาการเรียกไฟล์ภาพ
ตัวอย่าง a = imread (‘1.jpg’) กด enter จะปรากฏเป็นไฟล์ digital ดังภาพ
• ฟังก์ชันที่ใช้แสดงภาพออกมาปรากฏบนหน้าจอคือ imshow
ตัวอย่าง
ซึ่ง a จะเป็นการอ่านภาพและเก็บภาพ ข้อมูลจะเป็นค่าบวกทั้งหมด ดังภาพ
• ฟังก์ชันที่ใช้แปลงค่าจากข้อมูลสีให้เป็นระดับสีเทา คือ rgb2gray
ตัวอย่าง
และกด enter จากนั้นตัวเลขจะปรากฏขึ้นจากนั้นพิมพ์คาสั่ง
เพื่อเปิดไฟล์ภาพ ภาพจะขึ้นเป็นสีเทา ตัวอย่างดังภาพ
 ฟังก์ชันที่ใช้ดูค่าเชิงคลื่น Histogram คือ imhist แต่ต้องปรับให้ภาพเป็นสีเทาก่อนถึงจะทาได้
ตัวอย่าง
จะได้รูปดังนี้
• ฟังก์ชันที่แปลงข้อมูลภาพสีเป็นภาพขาว – ดา คือ im2bw
ตัวอย่าง
และกด Enter จะปรากฏหน้าต่างตัวเลข Digital ขึ้นมาจากนั้นใช้คาสั่ง
เพื่อเปิดภาพขึ้นมา จะได้ภาพดังตัวอย่าง
• ฟังก์ชันในการปรับความคมชัดให้กับข้อมูลภาพ คือ imadjust
ตัวอย่าง
จากนั้นกด Enter จะปรากฏตัวเลข Digital และใช้คาสั่งดังรูปเพื่อเปิดภาพขึ้นมา
จะได้ภาพดังนี้
Before After
Image Function
ตัวอย่าง
 ฟังก์ชันที่ใช้ในการตรวจสอบ driver ของกล้อง Webcam คือ imaqtool
กด Enter จะขึ้นหน้าต่างมาดังภาพ คลิกตาม
รูปภาพจากนั้นเลือก start preview เพื่อเปิดกล้อง
ทาการ copy โค้ดในหน้าต่างทางขวามือด้านล่างตามตัวอย่างในภาพ
จากนั้นไปที่เมนู New Scipt นาโค้ดที่ copy มาวางในหน้าต่างแล้วเพิ่มโค้ดลงไป
ดังตัวอย่างในภาพ
ทาการ Save และกด Run
เลือก Change Folder
ภาพที่เราถ่ายได้จะไป Save อยู่ใน Disk (D:)
3D Stereo Pair
ทาการเสิร์ชภาพที่ต้องการจาก internet โดยพิมพ์คาว่า Stereo 3D จากนั้นให้เลือกมา 1 ภาพ
ตัวอย่างดังภาพ
นาภาพที่ได้มาไปตัดต่อโดยจะแบ่งภาพออกเป็น 2 ภาพด้วยโปรแกรม Paint.net
ใช้เครื่องมือ Select ดังภาพในการ crop ส่วนที่ต้องการ โดยเราจะตัดภาพ
ทางด้านซ้ายก่อน เมื่อได้ส่วนที่ต้องการแล้วให้คลิกคาว่า crop เราก็จะได้ภาพที่
ต้องการ
เมื่อตัดภาพเสร็จแล้วให้ save as โดย save เป็นนามสกุล .jpg ตามตัวอย่างดังภาพ
เมื่อได้รูปทางด้ายซ้ายแล้วให้กด Ctrl+Z เพื่อย้อนกลับไป crop ทางด้านขวา จากนั้นทาการ Save as
เช่นเดียวกับภาพทางซ้าย
เปิดโปรแกรม Matlab
ไปที่เมนู Browse for folder จากนั้นเลือก folder ที่เก็บภาพที่ได้
ตัดต่อไว้ตอนแรกคลิก Select Folder ดังตัวอย่างในภาพ
ไฟล์รูปภาพจะขึ้นมาทางหน้าต่างทางด้านซ้ายมือ จากนั้นไปที่เมนู New Scipt
ทาการพิมพ์โค้ดลงไป
Save as และ กด Run
จะได้ภาพออกมาดังนี้ หากเราใช้แว่นตา 3 มิติในการมองจะเห็นภาพเป็นนูนๆ
โค้ดที่ทาให้ได้ภาพออกมา
 ใช้ในการเปิดภาพ
I1 = rgb2gray(imread('Lion1.jpg'));
I2 = rgb2gray(imread('Lion2.jpg'));
imshowpair(I1, I2,'montage');
title('I1 (left); I2 (right)');
 การแสดงแบบคู่ภาพพร้อมกัน
imshowpair(I1,I2,'ColorChannels','red-cyan');
title('Composite Image (Red - Left Image, Cyan - Right Image)');
 การตรวจหาจุดที่เหมือนกัน
blobs1 = detectSURFFeatures(I1,
'MetricThreshold', 2000);
blobs2 = detectSURFFeatures(I2,
'MetricThreshold', 2000);
detectSURFFeatures
 การหาจุดสมมติที่ตรงกัน ในแต่ละ blob
[features1, validBlobs1] = extractFeatures(I1, blobs1);
[features2, validBlobs2] = extractFeatures(I2, blobs2);
 ลบค่าผิดปกติ
[fMatrix, epipolarInliers, status] = estimateFundamentalMatrix
(matchedPoints1, matchedPoints2, 'Method', 'RANSAC', 'NumTrials',
10000, 'DistanceThreshold', 0.1, 'Confidence', 99.99);
 ปรับแก้คู่ภาพ
[t1, t2] = estimateUncalibratedRectification(fMatrix, ...
inlierPoints1.Location, inlierPoints2.Location, size(I2));
tform1 = projective2d(t1);
tform2 = projective2d(t2);
 การตัดขอบพื้นที่ซ้อนทับของภาพที่ปรับแก้
Irectified = cvexTransformImagePair(I1, tform1, I2, tform2); figure;
imshow(Irectified); title('Rectified Stereo Images (Red - Left Image,
Cyan - Right Image)');
จะได้ภาพที่ออกมาสมบูรณ์
Guide
การสร้าง GUI ด้วย GUIDE
GUI = Graphical User Interface เป็น user interface ที่สร้างขึ้นด้วยgraphical object แบบต่าง ๆ มี
ขั้นตอนการสร้างดังนี้
พิมพ์guide ที่หน้าต่าง command window กด enter จะมี
หน้าต่างปรากฏขึ้นมาดังภาพ ให้เลือก Blank GUI (Default) และ
คลิก ok
จากนั้น Layout Editor จะปรากฏขึ้น ซึ่งมีลักษณะดังรูป
 การสร้างปุ่มใช้คาสั่ง Push Botton
 Axes ใช้ในการแสดงข้อมูล
ดับเบิ้ลคลิกที่ปุ่ม Push Botton จะขึ้นหน้าต่างดังภาพ ทาการตั้งค่าปุ่ม
ตั้งชื่อปุ่ม ช่วงของปุ่ม
เปลี่ยนสีตัวอักษร เปลี่ยนสี background
จากนั้นทาการตั้งค่าให้ครบหมดทุกปุ่ม จะได้ออกมาดังภาพและ Save
เมื่อเสร็จให้กลับมาคลิกขาวที่ปุ่ม Load image ไปที่ View Callback เลือก Callback ซึ่ง Callback คือ
การเรียกส่วนหลัง
จะขึ้นหน้าต่างมาดังภาพ
 แทรกโค้ดเข้าไปในบรรทัดที่ 81 ดัง
ตัวอย่างในภาพ
 แทรกโค้ดในบรรทัดที่ 57 เพื่อปิดการมองเห็นให้เป็น
กราฟดังตัวอย่างในภาพ
global x
[filename, pathname] = uigetfile('*.jpg','Load Image');
if filename==0
msgbox('Please Choose Image','Error')
return
end
x=imread(filename);
axes(handles.axes1);
imshow(x); title('Loaded Image');
set(handles.axes1,'Visible','off');
เมื่อเสร็จให้กลับมาคลิกขาวที่ปุ่ม Gray ไปที่ View Callback เลือก Callback
 แทรกโค้ดเข้าไปในบรรทัดที่ 97
ดังตัวอย่างในภาพ
global x
a=rgb2gray(x)
axes(handles.axes1);
imshow(a); title('Gray scale');
จากนั้นกลับมาคลิกขาวที่ปุ่ม Histrogram ไปที่ View Callback เลือก Callback
 แทรกโค้ดเข้าไปในบรรทัดที่ 107
ดังตัวอย่างในภาพ
global x
c=rgb2gray(x)
imhist(c);
axes(handles.axes1);
คลิกขาวที่ปุ่ม BW ไปที่ View Callback เลือก Callback
 แทรกโค้ดเข้าไปในบรรทัดที่ 117
ดังตัวอย่างในภาพ
global x
b=im2bw(x)
axes(handles.axes1);
imshow(b); title('Black & White');
และกลับมาคลิกขาวที่ปุ่ม Reset ไปที่ View Callback เลือก Callback
 แทรกโค้ดเข้าไปในบรรทัดที่ 126
ดังตัวอย่างในภาพ
จากนั้นกด run เลือก change folder
global x
axes(handles.axes1);
imshow(x);
จะขึ้นหน้าต่างดังภาพ
จากนั้นทาการ Save Asโดย Save ในโฟลเดอร์เดียวกับรูปภาพที่ต้องการนามาใช้
กด Run จะได้หน้าต่างดังภาพ และกดปุ่ม Load image เลือกไฟล์รูปภาพที่ต้องการ
ตัวอย่างจะได้ภาพดังนี้
กด Load image กด Gray
กด Histrogram กด Bw
กด Reset
การผสมสีภาพถ่ายจากดาวเทียม
กด Browse for folder เลือก folder ที่มีชื่อว่า LS5
ภาพที่อยู่ใน folder จะขึ้นมาทางหน้าต่างทางซ้ายมือ จากนั้น กด Ctrl+N
พิมพ์โค้ดลงไปตามภาพ
เมื่อเสร็จให้กด Save and run
ทาการ Save ลงใน folder ที่ต้องการ
จะขึ้นหน้าต่างดังภาพ เลือก Change Folder
จะได้ภาพออกมาดังอย่าง ซึ่งเป็นภาพถ่ายดาวเทียมบริเวณจังหวัดชัยภูมิ

Matlab

  • 1.
    คู่มือโปรแกรม MATLAB วิชา 876131หลักการเขียนโปรแกรม จัดทาโดย นางสาวพรเมษา คนชม รหัสนิสิต 58170016 กลุ่ม 01 เสนอ อาจารย์กฤษณะ อิ่มสวาสดิ์ ภาคการศึกษาที่ 2/2558 คณะภูมิสารสนเทศศาสตร์ มหาวิทยาลัยบูรพา
  • 2.
    MATLAB แมตแล็บเป็นซอฟต์แวร์ในการคานวณและการเขียนโปรแกรม โปรแกรมหนึ่งที่มีความสามารถ ครอบคลุมตั้งแต่ การพัฒนาอัลกอริธึมการสร้างแบบจาลองทางคณิตศาสตร์ และการทาซิมูเลชั่นของระบบ การสร้างระบบควบคุม และโดยเฉพาะเรื่อง image processing และ wavelet การสร้างเมตริกซ์ ผลิตโดย บริษัทแมตเวิรกส์ ตัวแทนจาหน่ายในประเทศไทยคือ บริษัท เทคซอร์ส ซิสเท็มส์ (ประเทศไทย) จากัด การใช้งานโปรแกรมเบื้องต้น หน้าต่างของโปรแกรม
  • 3.
     การกาหนดค่าตัวแปรให้เป็นตัวอักษร เราสามารถการกาหนดค่าตัวแปรให้เป็นตัวอักษรในโปรแกรม matlabได้โดยการใส่ข้อความที่จะ กาหนดให้ตัวแปรในเครื่องหมายคาพูด รูปแบบคือ ตัวแปร = ‘ข้อความ’ ตัวอย่างเช่น กาหนดให้ตัวแปร A ให้เก็บคาว่า Hello Gi สามารถทาได้ดังภาพ  การกาหนดค่าให้กับตัวแปร การกาหนดค่าให้กับตัวแปรสามารถกระทาได้โดยการใช้เครื่องหมายเท่ากับ ( = ) แล้วตามด้วยตัว เลขที่ต้องการกาหนดให้ตัวแปรและจบด้วยเครื่องหมาย semicolon ( ; ) รูปแบบคือ ตัวแปร = ตัวเลข; ตัวอย่าง กาหนด ค่า a = 5; และ b = 8; เราสามารถนาค่าที่กาหนดให้ตัวแปรไปคานวณต่อได้ ตัวอย่าง sum คือ การหาผลรวม sum = a+b เป็นการหาผลรวมของ a+b เนื่องจาก a = 5; และ b = 8; ดังนั้น sum จึงมีค่าเท่ากับ 13  การสร้างอาร์เรย์ ในการสร้างอาร์เรย์นั้นสามารถทาได้โดยการกาหนดค่าตัวแปรไว้ทางด้ายซ้ายมือ ตามด้วย เครื่องหมายเท่ากับส่วนทางด้านขวาเป็นข้อมูลซึ่งจะอยู่ภายในเครื่องหมายบักเก็ต ( [ ] ) - การสร้างอาเรย์ให้มีหลายๆหลักค่าของข้อมูลระหว่างหลักจะถูกแยกด้วยช่องว่างหรือ spacebar ตัวอย่าง a = [ 1 2 3 4 5] เป็นเมตริกซ์ที่มี 1 แถว 5 หลัก ดังตัวอย่างในภาพ
  • 4.
    - การสร้างอาเรย์ให้มีแถวหลายๆแถว โดยการใช้เครื่องหมายsemicolon ( ; ) คั่นระหว่างแถว ตัวอย่าง b = [1 ; 2 ; 3 ; 4 ; 5] เป็นเมตริกซ์ 5 แถว 1 หลัก ดังตัวอย่างในภาพ หากต้องการเปลี่ยนให้ข้อมูลกลับมาอยู่แนวนอนทาได้โดยการใส่เครื่องหมาย (’) ไว้หลังตัวแปรซึ่ง โปรแกรมจะจาค่าของตัวแปรที่กาหนดไว้ได้เช่นตัวอย่างดังภาพ - การสร้างอาร์เรย์โดยใช้เครื่องหมาย colon ( : ) ถ้าเครื่องหมาย colon ( : ) อยู่ตรงกลางระหว่างจานวนจริง 2 จานวน จะมีความหมายว่า “ถึง” ทางซ้ายเป็นค่าเริ่มต้นตามด้วยเครื่องหมาย colon ( : ) ทางขวาเป็นค่าสุดท้าย อยู่ภายในเครื่องหมายบักเก็ต ( [ ] ) โดยจะเพิ่มค่าเริ่มต้นทีละ 1 ค่าจนถึงค่าสุดท้าย ตัวอย่างดังภาพ ถ้าเครื่องหมาย colon ( : ) แยกจานวนจริง 3 จานวนอยู่ภายในเครื่องหมายบักเก็ต ( [ ] ) ค่าทาง ซ้ายมือจะเป็นค่าเริ่มต้น ค่าตรงกลางเป็นช่วงเพิ่มขึ้น ค่าทางขวามือเป็นค่าสุดท้าย ตัวอย่างดังภาพ
  • 5.
    หากเราต้องการเรียกค่าที่ถูกเก็บไว้ในตัวแปร a ซึ่งโปรแกรมจะดูจากคาสั่งการกาหนดค่าให้กับตัว แปรล่าสุดเราสามารถทาได้โดยใช้เครื่องหมายวงเล็บ ( ) และใส่ตาแหน่งของค่าที่เราต้องการทราบ รูปแบบ คือ ตัวแปร ( ตาแหน่งของค่าที่ต้องการ ) ตัวอย่างดังภาพ - การสร้างอาร์เรย์หลายๆแถวหลายๆหลัก โดยการใช้เครื่องหมาย semicolon ( ; ) คั่นระหว่างแถว และระหว่างหลักจะถูกแยกด้วยช่องว่างหรือ spacebar ตัวอย่าง x = [1 2 3 ; 4 5 6 ; 7 8 9 ] เป็นเมตริกซ์ที่มี 3 แถว 3 หลัก ดังตัวอย่างในภาพ หากต้องการเรียกค่าที่ถูกเก็บไว้ในตัวแปร a ที่มีลักษณะเป็นเมตริกซ์ โปรแกรมจะดูจากคาสั่งการ กาหนดค่าให้กับตัวแปรล่าสุด เราสามารถทาได้โดยใช้เครื่องหมายวงเล็บ ( ) และใส่ตาแหน่งแถวและหลัก ของค่าที่เราต้องการทราบ รูปแบบ คือ ตัวแปร ( แถว,หลัก ) ตัวอย่างดังภาพ ** คาสั่ง clc คือ คาสั่ง ในการล้างข้อมูลในส่วนของหน้าจอ Command Window เพื่อให้สามารถ เขียนคาสั่งใหม่ได้
  • 6.
     การสร้างกราฟ 3มิติ surf เป็นคาสั่งในการวาดกราฟพื้นผิว จะได้กราฟดัง ภาพ >>> - หากต้องการไล่เฉดสีของกราฟ ให้เพิ่มคาสั่ง shading interp ลงไป จะได้กราฟดังภาพ
  • 7.
    - หากต้องการให้ภาพแสดงตารางไล่เฉดสี โดยเพิ่มคาสั่งcolourbarลงไป ซึ่งจะได้ออกมาดังภาพ - หากต้องการให้กราฟเป็นรูปพื้นผิวร่างแห ให้เพิ่มคาสั่ง mesh(xx,yy,zz)ลงไป จะได้กราฟดังภาพ
  • 8.
     การสร้างลูกโลก - กดNew script หรือ Ctrl + N จะได้หน้าต่างขึ้นมาดังภาพ - เขียนโค้ดขึ้นดังภาพ เมื่อเสร็จให้ทาการ Save
  • 9.
    - จากนั้นกด Runจะปรากฏหน้าต่างขึ้นมาให้เลือก Change Folder - เสร็จแล้วเราจะได้ลูกโลกออกมาดังภาพ
  • 10.
    Plot การใช้ฟังก์ชัน plot ในโปรแกรมMATLAB สิ่งสาคัญที่ควรจะต้องมี คือ ค่าเมทริกซ์ / เวกเตอร์(matrices/vectors) และควรจะมีขนาดของมิติที่ เท่ากัน ตัวอย่างดังภาพ จะได้ลักษณะของกราฟดังนี้  การใส่ป้ายชื่อ สามารถทาได้โดยคาสั่ง title (‘ชื่อกราฟ’) ตัวอย่างดังภาพ
  • 11.
     การแสดงป้ายชื่อในแกน xรูปแบบคือ xlabel (‘ ชื่อกราฟ’) ตัวอย่างดังภาพ  การแสดงป้ายชื่อในแกน y รูปแบบคือ ylabel (‘ ชื่อกราฟ’) ตัวอย่างดังภาพ
  • 12.
     การเปลี่ยนสีของเส้นกราฟ รูปแบบคือ plot (x,y, ‘สีที่ต้องการ’) ตัวอย่างดังภาพ  การเปลี่ยนลักษณะของเส้นกราฟให้เป็น เส้นประ รูปแบบ คือ plot (x,y, ‘ - -สีที่ ต้องการ’) ตัวอย่างดังภาพ
  • 13.
     การเปลี่ยนลักษณะของเส้นกราฟให้เป็น เส้นประและจุด รูปแบบคือ plot (x,y, ‘ - . สีที่ ต้องการ’) ตัวอย่างดังภาพ  การเปลี่ยนลักษณะของเส้นกราฟให้เป็น เส้นประและเครื่องหมายบวก รูปแบบ คือ plot (x,y, ‘ – + สีที่ต้องการ’) ตัวอย่างดังภาพ
  • 14.
     การเปลี่ยนลักษณะของเส้นกราฟให้เป็น เส้นประและวงกลม รูปแบบคือ plot (x,y, ‘ – O สีที่ต้องการ’) ตัวอย่างดังภาพ  การทาเส้นกราฟให้มีหลายเส้น สามารถทาได้ตาม ตัวอย่างในภาพ โดย plot (x,t, '--r',y,t, '-.b',z,t, '-^k') จะเป็นการบอกลักษณะและสีของเส้นกราฟในแต่ ละเส้น
  • 15.
     การใส่ป้ายบอกสัญลักษณ์ รูปแบบคือ legend ('airplane','train','ship') ตัวอย่างดังภาพ  ถ้าต้องการเปลี่ยนตาแหน่งป้ายจากด้านซ้ายมือ (ทิศ เหนือ) ไปด้านขวามือ (ตะวันตกเฉียงเหนือ) รูปแบบ คือ legend ('location','northwest') ตัวอย่างดังภาพ  ถ้าต้องการเปลี่ยนตาแหน่งป้ายจากด้านบนซ้าย (ตะวันตกเฉียงเหนือ) เป็นด้านล่างซ้าย (ตะวันตกเฉียง ใต้)รูปแบบ คือ legend ('location','southwest') ตัวอย่าง ดังภาพ
  • 16.
     ถ้าต้องการแสดงกราฟที่แยกกัน สามารถใช้คาสั่งsubplot (แถว,คอลัม,จานวน plot) เพื่อจะสร้าง เฟรม กาหนดตัวแปร plot (แถว,คอลัม,จานวน plot) เพื่อจะได้ใส่ค่าและนาค่าไปบรรจุลงในเฟรม ตัวอย่าง กาหนด เครื่องบิน ให้มีสีแดงและเส้นกราฟมีลักษณะเป็นเส้นประ เรือ ให้มีสีดาและเส้นกราฟลักษณะมีสามเหลี่ยม รถไฟ ให้มีสีฟ้าและเส้นกราฟมีลักษณะเป็นเส้นจุดประ สามารถทาได้ดังนี้ การแสดงกราฟแบบสามมิติ สามารถทาได้ตามตัวอย่าง ดังรูป
  • 17.
    TopoToolbox ไปที่แถบเมนู เลือก SetPath จากนั้นกดไปที่ Add Floder ตัวอย่างดังภาพ เข้าไปใน My computer > Com_pro > 01 > Topotoolbox-Master แล้วก็เลือก Select Folder ดังรูป
  • 18.
    เสร็จแล้วให้กด save ไปที่เมนู Browsefor folder เลือก folder ที่ชื่อว่า DEM คลิก Select folder
  • 19.
    Dem คืออะไร Digital elevationmodem = แบบจาลองความสูงเชิงเลข Dem จะเห็นเฉพาะ ภูเขาและร่องน้าเท่านั้น เราต้องการเปิดไฟล์ภาพเขาคิชกูด โดย Obj = odject โดยบอกรายละเอียดของภาพทั้งหมด มี 1095 แถว 643 คอลัมบ์ คาสั่งต่อไปนี้เป็นคาสั่งเปิดไฟล์ภาพ
  • 20.
    check ข้อมูล DEMว่าใช้ได้หรือไม่โดยใช้คาสั่ง imagesc(DEM) จะได้รูปดังนี้
  • 21.
    แล้วทาการปรับเชิงคลื่นหรือ Histogram ของภาพDEM เพื่อเป็นการดู Hillshade แสดงความลาด ชันที่ชัดเจนมากยิ่งขึ้นโดยมีการใช้ ฟังก์ชัน gradient เป็นการไล่ shade สีและได้กาหนดไว้ที่ 8 ระดับ จะได้ รูปดังนี้ การทาให้เป็นภาพ 3 มิติ สามารถใช้คาสั่งได้ดังรูป
  • 22.
    จะได้รูปดังนี้ การแสดงพื้นที่ในรูปแบบ plot in3D DEMc คือ การกาหนดขอบเขตข้อมูลที่ต้องการตัดมาแสดง บางส่วนโดยในคาสั่ง crop ตัวอย่างดังภาพ DEMc = crop(DEM,sub2ind(DEM.size,[150 350],[150 350])); [Z,x,y] = GRIDobj2mat(DEMc); surf(x,y,double(Z))
  • 23.
    จะได้ภาพดังนี้ การนาข้อมูลออกไปใช้ในโปรแกรมอื่นสามารถทาได้2 วิธี 1 .การนาออกไปเป็นข้อมูล ascii ไฟล์ โดยใช้คาสั่ง GRIDobj2ascii(DEMc,'test.txt'); 2. การนาข้อมูลออกไปเป็นข้อมูลภาพ โดยใช้คาสั่ง GRIDobj2geotiff(DEMc,'test.tif'); GRIDobj2ascii(DEMc,'test.txt'); GRIDobj2geotiff(DEMc,'test.tif');
  • 24.
    Fill sinks คาสั่งที่ใช้ในการศึกษาการไหลของน้าตามสภาพภูมิประเทศโดยจะใช้ข้อมูล DEM และ นาไปใช้ควบคู่กับ FLOWobj ถ้าไม่มีการทา Fill sinks ก่อนก็จะไม่สามารถวิเคราะห์กระบวนการต่อๆไปได้ จะได้รูปดังนี้
  • 25.
    การระบายของลุ่มน้า Drainagebasins  ถ้าต้องการให้โปรแกรมแสดงการระบายของลุ่มน้าสามารถใช้คาสั่งDB = drainagebasins (FD) ;  ถ้าต้องการให้แสดงการแยกของลุ่มน้าสามารถใช้คาสั่ง DB = sufflelabel (DB) ; จะได้รูปดังนี้
  • 26.
    Image Processing อันดับแรกทาการเสิร์ชรูปภาพที่ต้องการนามาใช้จาก internetจากนั้น save ภาพใน Disk (D:) Com_pro 01 image โดยตั้งชื่อไฟล์รูปภาพว่า 1.jpg เปิดโปรแกรม Matlab เลือก Browse for folder Disk (D:) Com_pro 01 image ไฟล์ภาพจะขึ้นมาที่หน้าต่างฝั่งซ้ายมือ • ฟังก์ชันที่ทาหน้าที่อ่านไฟล์ภาพ คือ imread เราสามารถทาการเรียกไฟล์ภาพ ตัวอย่าง a = imread (‘1.jpg’) กด enter จะปรากฏเป็นไฟล์ digital ดังภาพ
  • 27.
    • ฟังก์ชันที่ใช้แสดงภาพออกมาปรากฏบนหน้าจอคือ imshow ตัวอย่าง ซึ่งa จะเป็นการอ่านภาพและเก็บภาพ ข้อมูลจะเป็นค่าบวกทั้งหมด ดังภาพ • ฟังก์ชันที่ใช้แปลงค่าจากข้อมูลสีให้เป็นระดับสีเทา คือ rgb2gray ตัวอย่าง และกด enter จากนั้นตัวเลขจะปรากฏขึ้นจากนั้นพิมพ์คาสั่ง เพื่อเปิดไฟล์ภาพ ภาพจะขึ้นเป็นสีเทา ตัวอย่างดังภาพ
  • 28.
     ฟังก์ชันที่ใช้ดูค่าเชิงคลื่น Histogramคือ imhist แต่ต้องปรับให้ภาพเป็นสีเทาก่อนถึงจะทาได้ ตัวอย่าง จะได้รูปดังนี้
  • 29.
    • ฟังก์ชันที่แปลงข้อมูลภาพสีเป็นภาพขาว –ดา คือ im2bw ตัวอย่าง และกด Enter จะปรากฏหน้าต่างตัวเลข Digital ขึ้นมาจากนั้นใช้คาสั่ง เพื่อเปิดภาพขึ้นมา จะได้ภาพดังตัวอย่าง
  • 30.
    • ฟังก์ชันในการปรับความคมชัดให้กับข้อมูลภาพ คือimadjust ตัวอย่าง จากนั้นกด Enter จะปรากฏตัวเลข Digital และใช้คาสั่งดังรูปเพื่อเปิดภาพขึ้นมา จะได้ภาพดังนี้ Before After
  • 31.
  • 32.
     ฟังก์ชันที่ใช้ในการตรวจสอบ driverของกล้อง Webcam คือ imaqtool กด Enter จะขึ้นหน้าต่างมาดังภาพ คลิกตาม รูปภาพจากนั้นเลือก start preview เพื่อเปิดกล้อง ทาการ copy โค้ดในหน้าต่างทางขวามือด้านล่างตามตัวอย่างในภาพ
  • 33.
    จากนั้นไปที่เมนู New Sciptนาโค้ดที่ copy มาวางในหน้าต่างแล้วเพิ่มโค้ดลงไป ดังตัวอย่างในภาพ ทาการ Save และกด Run เลือก Change Folder ภาพที่เราถ่ายได้จะไป Save อยู่ใน Disk (D:)
  • 34.
    3D Stereo Pair ทาการเสิร์ชภาพที่ต้องการจากinternet โดยพิมพ์คาว่า Stereo 3D จากนั้นให้เลือกมา 1 ภาพ ตัวอย่างดังภาพ นาภาพที่ได้มาไปตัดต่อโดยจะแบ่งภาพออกเป็น 2 ภาพด้วยโปรแกรม Paint.net
  • 35.
    ใช้เครื่องมือ Select ดังภาพในการcrop ส่วนที่ต้องการ โดยเราจะตัดภาพ ทางด้านซ้ายก่อน เมื่อได้ส่วนที่ต้องการแล้วให้คลิกคาว่า crop เราก็จะได้ภาพที่ ต้องการ เมื่อตัดภาพเสร็จแล้วให้ save as โดย save เป็นนามสกุล .jpg ตามตัวอย่างดังภาพ เมื่อได้รูปทางด้ายซ้ายแล้วให้กด Ctrl+Z เพื่อย้อนกลับไป crop ทางด้านขวา จากนั้นทาการ Save as เช่นเดียวกับภาพทางซ้าย
  • 36.
    เปิดโปรแกรม Matlab ไปที่เมนู Browsefor folder จากนั้นเลือก folder ที่เก็บภาพที่ได้ ตัดต่อไว้ตอนแรกคลิก Select Folder ดังตัวอย่างในภาพ ไฟล์รูปภาพจะขึ้นมาทางหน้าต่างทางด้านซ้ายมือ จากนั้นไปที่เมนู New Scipt
  • 37.
  • 38.
    จะได้ภาพออกมาดังนี้ หากเราใช้แว่นตา 3มิติในการมองจะเห็นภาพเป็นนูนๆ โค้ดที่ทาให้ได้ภาพออกมา  ใช้ในการเปิดภาพ I1 = rgb2gray(imread('Lion1.jpg')); I2 = rgb2gray(imread('Lion2.jpg')); imshowpair(I1, I2,'montage'); title('I1 (left); I2 (right)');
  • 39.
     การแสดงแบบคู่ภาพพร้อมกัน imshowpair(I1,I2,'ColorChannels','red-cyan'); title('Composite Image(Red - Left Image, Cyan - Right Image)');  การตรวจหาจุดที่เหมือนกัน blobs1 = detectSURFFeatures(I1, 'MetricThreshold', 2000); blobs2 = detectSURFFeatures(I2, 'MetricThreshold', 2000); detectSURFFeatures  การหาจุดสมมติที่ตรงกัน ในแต่ละ blob [features1, validBlobs1] = extractFeatures(I1, blobs1); [features2, validBlobs2] = extractFeatures(I2, blobs2);
  • 40.
     ลบค่าผิดปกติ [fMatrix, epipolarInliers,status] = estimateFundamentalMatrix (matchedPoints1, matchedPoints2, 'Method', 'RANSAC', 'NumTrials', 10000, 'DistanceThreshold', 0.1, 'Confidence', 99.99);  ปรับแก้คู่ภาพ [t1, t2] = estimateUncalibratedRectification(fMatrix, ... inlierPoints1.Location, inlierPoints2.Location, size(I2)); tform1 = projective2d(t1); tform2 = projective2d(t2);  การตัดขอบพื้นที่ซ้อนทับของภาพที่ปรับแก้ Irectified = cvexTransformImagePair(I1, tform1, I2, tform2); figure; imshow(Irectified); title('Rectified Stereo Images (Red - Left Image, Cyan - Right Image)'); จะได้ภาพที่ออกมาสมบูรณ์
  • 41.
    Guide การสร้าง GUI ด้วยGUIDE GUI = Graphical User Interface เป็น user interface ที่สร้างขึ้นด้วยgraphical object แบบต่าง ๆ มี ขั้นตอนการสร้างดังนี้ พิมพ์guide ที่หน้าต่าง command window กด enter จะมี หน้าต่างปรากฏขึ้นมาดังภาพ ให้เลือก Blank GUI (Default) และ คลิก ok
  • 42.
    จากนั้น Layout Editorจะปรากฏขึ้น ซึ่งมีลักษณะดังรูป  การสร้างปุ่มใช้คาสั่ง Push Botton  Axes ใช้ในการแสดงข้อมูล
  • 43.
    ดับเบิ้ลคลิกที่ปุ่ม Push Bottonจะขึ้นหน้าต่างดังภาพ ทาการตั้งค่าปุ่ม ตั้งชื่อปุ่ม ช่วงของปุ่ม
  • 44.
  • 45.
    เมื่อเสร็จให้กลับมาคลิกขาวที่ปุ่ม Load imageไปที่ View Callback เลือก Callback ซึ่ง Callback คือ การเรียกส่วนหลัง จะขึ้นหน้าต่างมาดังภาพ
  • 46.
     แทรกโค้ดเข้าไปในบรรทัดที่ 81ดัง ตัวอย่างในภาพ  แทรกโค้ดในบรรทัดที่ 57 เพื่อปิดการมองเห็นให้เป็น กราฟดังตัวอย่างในภาพ global x [filename, pathname] = uigetfile('*.jpg','Load Image'); if filename==0 msgbox('Please Choose Image','Error') return end x=imread(filename); axes(handles.axes1); imshow(x); title('Loaded Image'); set(handles.axes1,'Visible','off');
  • 47.
    เมื่อเสร็จให้กลับมาคลิกขาวที่ปุ่ม Gray ไปที่View Callback เลือก Callback  แทรกโค้ดเข้าไปในบรรทัดที่ 97 ดังตัวอย่างในภาพ global x a=rgb2gray(x) axes(handles.axes1); imshow(a); title('Gray scale');
  • 48.
    จากนั้นกลับมาคลิกขาวที่ปุ่ม Histrogram ไปที่View Callback เลือก Callback  แทรกโค้ดเข้าไปในบรรทัดที่ 107 ดังตัวอย่างในภาพ global x c=rgb2gray(x) imhist(c); axes(handles.axes1);
  • 49.
    คลิกขาวที่ปุ่ม BW ไปที่View Callback เลือก Callback  แทรกโค้ดเข้าไปในบรรทัดที่ 117 ดังตัวอย่างในภาพ global x b=im2bw(x) axes(handles.axes1); imshow(b); title('Black & White');
  • 50.
    และกลับมาคลิกขาวที่ปุ่ม Reset ไปที่View Callback เลือก Callback  แทรกโค้ดเข้าไปในบรรทัดที่ 126 ดังตัวอย่างในภาพ จากนั้นกด run เลือก change folder global x axes(handles.axes1); imshow(x);
  • 51.
    จะขึ้นหน้าต่างดังภาพ จากนั้นทาการ Save AsโดยSave ในโฟลเดอร์เดียวกับรูปภาพที่ต้องการนามาใช้
  • 52.
    กด Run จะได้หน้าต่างดังภาพและกดปุ่ม Load image เลือกไฟล์รูปภาพที่ต้องการ
  • 53.
  • 54.
    การผสมสีภาพถ่ายจากดาวเทียม กด Browse forfolder เลือก folder ที่มีชื่อว่า LS5 ภาพที่อยู่ใน folder จะขึ้นมาทางหน้าต่างทางซ้ายมือ จากนั้น กด Ctrl+N
  • 55.
    พิมพ์โค้ดลงไปตามภาพ เมื่อเสร็จให้กด Save andrun ทาการ Save ลงใน folder ที่ต้องการ
  • 56.
    จะขึ้นหน้าต่างดังภาพ เลือก ChangeFolder จะได้ภาพออกมาดังอย่าง ซึ่งเป็นภาพถ่ายดาวเทียมบริเวณจังหวัดชัยภูมิ