Go to the end of the rainbow

Introduction image processing with matlab part 1

คราวก่อนเราพูดถึงเรื่องข้อมูลรูปการมองเห็นนรูปไปแล้วต่อไปเราจะมาลองเล่นลองเขียนโปรแกรมกันดู เอาง่ายๆ แล้วกัน โดยใช่ matlab แล้วกันนะคับ มีทูลบ๊อกมาให้ง่ายดี เอิ๊กๆๆ

การเอารูปเข้ามาในmatlav จะใช้คำสั่ง imread แล้วมันจะดึงค่าเข้ามาสู่ตัวแปรที่เรากำหนดไว้ เช่น

a = imread('c:\a.jpg');

มันก็จะนำเอาไฟล์ a.jpg ใน path c: เข้ามาในตัวแปร a
ดังรูป

อะรูปเข้ามาแล้วเราก็ เช็คดูว่ารูปอะไรที่เข้ามาถูกรูปหรือว่า เราจะแสดงรูปโดยใช้คำสั่ง imshow
โดยพิมพ์
figure,imshow(a);

โดย figure เป็นการเปิด gui มาใหม่ เพื่อ รอรองรับ การแสดงรูปโดยคำสั้ง imshow
ดังรูป


ต่อไปถ้าเราใส่ imshow

มันก็เปิด gui ใหม่มา พร้อมโชว์รูป หล่อๆ ออกมาเอิ๊กๆๆ

เราจะเห็นได้ว่ารูปที่แสดงออกมาเป็นค่าสี่ RGB ซึ่งจะประกอบกันด้วยสามเลเยอร์ โดยแต่ละเลเยอร์มีค่าตั้งแต่
0 - 255 ไม่เชื่อก็ คลิ๊ก ที่ a ดูได้ เอาดิ ลองดิ เอิ๊กๆๆ
ถ้าเกิดเราตั้งการแยกสีออกมาตามเลเยอร์
ก็จะได้ เป็น สี แดง เขียว น้ำเงินตามลำดับ วิธีการแยก ก็ใช้คำสั่ง
r = a(:,:,1);

คำสั่งนี้ก็จะได้สีแดงออกมา โดย : แรก หมายถึง เอาทั้งหมดในด้าน row ส่วน : ที่สองหมายถึง เอาทั้งหมดในด้าน colum 1 ก็หมายถึง เลเยอร์ แรกก็คือ แดง ถ้าจเอา เขียวก็ 2 น้ำเงินก็สาม 4 ก็คือ เฮ้ยๆๆ ไม่ใช่ลืมไปมีแค่3 เอิ๊กๆๆ โดนหลอก กร๊ากก

หลังจากเราแยกสีมาแล้วเราก็ลอง แสดงดู โดย imshow นั้นละคับ อะดูรูปไป



จะเห็นได้ว่ารูปอยู่ในรูปลักษระ gray scale เนื่องโดยในรูปจะแสดงให้เห็นว่า ที่เป็ฯสีดำนั้นคือที่ที่ไม่มีสีแดงอยู่(ค่าเป็นศูนย์) ที่มีสีขาวนั้นแสดงว่ามีค่าสีแดงมาก อะคับ แค่นี้ก่อนนะคับ อิอิๆ




 

Create Date : 28 ตุลาคม 2549    
Last Update : 28 ตุลาคม 2549 20:46:53 น.
Counter : 3320 Pageviews.  

เริ่มสักที

สมัคร blog มาเป็นปี แถมขึ้นหัวข้อไว้นานก็ไม่ได้เขียนสักที มัวแต่แรดๆอยู่ วันนี้เบื่อๆเซ็งๆ มาเขียนแล้วกัน เหอๆๆ เริ่มแล้วนะคับ เออถ้ามีอะไรผิดพลาด พี่ๆเพื่อนๆที่รู้ดีกว่าช่วยบอกด้วยแล้วกัน อิอิๆ
ว่าด้วยระบบการมองเห็นของคนนั้น โดยปกติ(ย้ำว่าต้องเป็นคนปกติ) เราจะรับภาพได้โดยมีแสงกระทบเข้าวัตถุสะท้อนเข้าตา ในตาจะมีเซลรับค่าสีต่างๆแล้วก็ส่งต่อไปยังสมอง เพื่อแยกว่าวัตถุนั้นเป็นอะไร สิ่งใด ดังรูป




จากรูปจะเห็นได้ว่าแสงกระทบเข้ากะเนื้อและสะท้อนเข้าตาเสือ ดวงตาของเสือก็จะทำการประมวลผลว่า ที่เป็นนะ อะไร ถ้ามันประมวลผลไม่ได้ก็อดไปเอิ๊กๆๆ

แต่คอมพิวเตอร์ละคับ มันมองยังไง การรับภาพของคอมนั้น เราจะรับผ่านกล้อง สแกน แล้วบันทึกมาเป็ฯไฟล์ เช่น jpg เอย png เอย bmp เอย หลายนามสกุลแล้วแต่ โดยที่ภาพเหล่านั้นที่เรามองเป็นรูปแท้ที่จิง คือ matrix โดยจะมีค่าตั้งกต่ 0 - 255 ถ้าเป็นภาพสี จะเป็น matrix 3 ชุดวางซ่อนกันโดยปกติ คือ RGB และถ้าแยก matrix ออกมา ก็จะได้ภาพเป็น gray scale สามชุด โดยจุดที่เป็นสีขาว แสดงว่าจุดนั้นมีค่าสีสูง ถ้าดำแสดงว่าค่าสีของ matrix ชุดนั้นจะต่ำ เหมือนในรูป


รูปที่เป็น RGB




รูปที่แสดงค่าของ R

ในรูปจะเห็นได้ว่าในที่เป้นพ gray scale และส่วนที่เป็นสีแดงในรูปต้นฉบับนั้น มาในรูปนนี้จะกลายเป็นสีขาว แสดงว่าค่าจุดขาวๆนั้นมีค่าสูง (แต่ก็ไม่เกิน 255)รูปต่อไปจะเป็นรูปของค่า G



และ B




และเมื่อ matrix ทั้งสามซ้อนกันก็จะเกิดการผสมของสีตามแม่สีที่เราเรียนมาในตอนประถม อิอิๆดีนะตอนนั้นยังได้เกรดสี่วิชาศิลปะอยู่ เอิ๊กๆ




อธิบายไปงงไหมหว่า




 

Create Date : 18 พฤษภาคม 2549    
Last Update : 18 พฤษภาคม 2549 21:33:28 น.
Counter : 539 Pageviews.  


maninbox
Location :
กรุงเทพ Thailand

[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 1 คน [?]




ไม่รู้ยอมไม่ผิด แต่ผิดที่จะไม่ยอมรู้
Group Blog
 
All Blogs
 
Friends' blogs
[Add maninbox's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.