Page 63 -
P. 63
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
54
2.3 ชนิดของขอมูลและการแปลงขอมูล
MATLAB นั้นมีขอมูลหลากหลายชนิดใหเลือกใช แตการคํานวนสวนใหญจะทํากับ
ขอมูลชนิด double ทําใหมีความจําเปนที่เราจะตองทําความเขาใจถึงชนิดของขอมูลที่
อานไดจากภาพและการแปลงไปมาระหวางขอมูลชนิดตาง ๆ โดยชนิดของขอมูลจะ
เปนตัวกําหนดจํานวนบิตที่ใชในการจัดเก็บคาขอมูลนั้น ๆ นั้นคือ จะบอกถึงคาต่ําสุด
และคาสูงสุดของตัวเลขแตละชนิด เชน ขอมูลชนิด uint8 จัดเก็บขอมโดยใชจํานวน
0
บิต 8 บิต คาต่ําสุดที่เปนไปไดของขอมูลชนิดนี้คือ 2 =0 และคาสูงสุดของขอมูลคือ
8
2 -1 = 255 ตารางที่ 2.1 แสดงตัวอยางชนิดของขอมูลที่กําหนดไวใน MATLAB
ตาราง 2.1 ตัวอยางชนิดของขอมูลใน MATLAB
ชนิดขอมูล ความหมาย ชวงของคา
int
8 เลขจํานวนเต็ม 8 บิต 127 – 128 -
8 uint เลขจํานวนเต็ม 8 บิต ไมมีเครื่องหมาย 255 0 -
16 int เลขจํานวนเต็ม 16 บิต 32767 - 32768 -
16 uint เลขจํานวนเต็ม 16 บิต ไมมีเครื่องหมาย 65535 0 -
int32 เลขจํานวนเต็ม 32 บิต - 2147483648-2147483647
uint32 เลขจํานวนเต็ม 32 บิต ไมมีเครื่องหมาย 0- 4294967295
double เลขจํานวนจริง 64 บิต 2.2251 e-308-1.7977e+308
logical เลขไบนารี 0 และ 1
คําสั่ง imread(.) นั้นจะอานคาความเขมแสงของภาพแลวเก็บไวในตัวแปรชนิด unit8
เนื่องจากคาความเขมแสงของแตละจุดภาพเปนขอมูลขนาด 8 บิต หากแตการคํานวณ
ใน MATLAB ตองทําการคํานวณกับขอมูลชนิด double เทานั้น จึงตองทําการเปลี่ยน
ขอมูลภาพที่อานไดใหอยูในรูปของตัวแปร double กอนที่จะทําการประมวลผลทาง
คณิตศาสตร การแปลงชนิดของขอมูลทําไดดวยคําสั่ง double(.) ตามตัวอยางการใช
งานดังนี้