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

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderators: mindphp, ผู้ดูแลกระดาน

Post Reply
Grammanano
PHP Sr. Member
PHP Sr. Member
Posts: 60
Joined: 02/12/2019 10:16 am

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

Post by Grammanano » 06/12/2019 3:20 pm

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


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

Code: Select all

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

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

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

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

Code: Select all

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


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


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

Post Reply

Return to “Share Knowledge”

Who is online

Users browsing this forum: No registered users and 5 guests