คำสั่งพื้นฐานในการใช้ Matlab เพื่อการทำ Image Processing

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: คำสั่งพื้นฐานในการใช้ Matlab เพื่อการทำ Image Processing

คำสั่งพื้นฐานในการใช้ Matlab เพื่อการทำ Image Processing

โดย Grammanano » 06/12/2019 3:20 pm

Matlab (แมตแล็บ) เป็นภาษาคอมพิวเตอร์ระดับสูง สามารถคำนวณคณิตศาสตร์ที่ซับซ้อนได้อย่างรวดเร็ว ทั้งยังสามารถแสดงผลกราฟฟิก และเขียนแอพพลิเคชั่น ทำให้เราสามารถคำนวณผลลัพธ์ พัฒนาอัลกลิทึ่ม สร้างแบบจำลอง และแอพพลิเคชั่นได้ง่ายและรวดเร็วมาก ภายในตัว Matlab ประกอบด้วยภาษาคอมพิวเตอร์ Toolbox กลุ่มฟังก์ชันสำเร็จรูปในแต่ละสาขาวิชา และฟังก์ชันพื้นฐานจำนวนมาก ทำให้การวิเคราะห์ทำได้หลากหลายวิธี พร้อมกับคำตอบที่รวดเร็ว
Share Knowledge-1.png
Share Knowledge-1.png (495.46 KiB) Viewed 3331 times
การทำงาน
Matlab สามารถทำงานได้ทั้งในลักษณะของการติดต่อโดยตรง คือการเขียนคำสั่งเข้าไปทีละคำสั่ง เพื่อให้ประมวลผลไปเรื่อย ๆ หรือรวบรวมชุดคำสั่งนั้นเป็นโปรแกรมก็ได้ ข้อสำคัญอย่างหนึ่งของแมตแล็บก็คือข้อมูลทุกตัวจะถูกเก็บในลักษณะของแถวลำดับ คือ ในแต่ละตัวแปรจะได้รับการแบ่งเป็นส่วนย่อยเล็ก ๆ ทำให้สามารถแก้ปัญหาของตัวแปรที่อยู่ในลักษณะของเมทริกซ์และเวกเตอร์ได้ง่าย


ในบทความนี้จะกล่าวถึงคำสั่งพื้นฐานของ Matlab ที่ใช้ในการทำ Image Processing

โค้ด: เลือกทั้งหมด

imread('fileName');	//สำหรับอ่านชื่อไฟล์หรือรูปภาพ

สามารถอ่านข้อมูลแล้วเก็บไว้ในตัวแปรได้ เช่น เก็บในตัวแปร pic จะได้

pic = imread('fileName');
ข้อมูลรูปภาพที่ Matlab สามารถอ่านได้คือ tiff, jpeg, gif, bmp, png, xwd

โค้ด: เลือกทั้งหมด

imshow(pic);		//สำหรับแสดงภาพจากตัวแปร pic

โค้ด: เลือกทั้งหมด

impixelinfo		//สำหรับอ่านค่า RGB ที่ pixel ที่เอาเม้าส์ชี้

โค้ด: เลือกทั้งหมด

pic = rgb2grey(fileName);	//แปลงไฟล์ภาพเป็นขาวดำ เก็บในตัวแปร pic

โค้ด: เลือกทั้งหมด

แปลงขนาดภาพในตัวแปร pic เก็บในตัวแปร newpic

newpic = imresize(pic, 0.5);			//ลดขนาดภาพ pic ลง 50% หรือ
newpic = imresize(pic, [100, 100]);		//แปลงขนาดภาพในตัวแปร pic เป็น 100x100

โค้ด: เลือกทั้งหมด

pic(x, y, rgb);		//เป็นการอ่านค่าสีของรูปภาพในตัวแปร RGB เช่น ดูค่า RGB ที่รูปพิกัดที่ 3,7 จะได้ pic(3,7,:);
หากไม่มีตัวแปรมารองรับ จะเก็บค่าไว้ในตัวแปร ans อัตโนมัติ ผลลัพธ์ที่ได้จะมี 3 layer คือ R, G และ B

โค้ด: เลือกทั้งหมด

imshow(pic(:,:,rgb));	//สำหรับดูองค์ประกอบของสีในรูปภาพ ในตัวแปร pic
ในส่วนของ rgb หากต้องการดูค่า R จะแทนด้วยเลข 1, ค่า G แทนด้วยเลข 2 และ B แทนด้วยเลข 3

โค้ด: เลือกทั้งหมด

pic(x, y) = value;	//สำหรับเปลี่ยนค่าที่พิกัดใน x,y เช่น
pic(3,7) = 0;	จะทำให้ pixel ในพิกัดที่ 3,7 มีค่าเป็น 0

นอกจากจะดูเป็นค่า RGB แล้ว เรายังสามารถแปลงเป็นแบบ hsv ได้ ด้วยคำสั่ง

โค้ด: เลือกทั้งหมด

newpic = rgb2hsv(pic);		//แปลงค่าสีในตัวแปร pic เป็นแบบ hsv เก็บในตัวแปร newpic


อ้างอิง https://medium.com/@watchanan/


บทความที่เกี่ยวข้อง
Matlab (แมตแล็บ) คืออะไร
computer graphics (คอมพิวเตอร์กราฟิก)และซอฟต์แวร์ทางกราฟิก

ข้างบน