Page 64 -
P. 64
โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี
55
>>im = imread (‘Temples.jpg’);
>>im_d= double(im);
>>whos im_d
Name Size Bytes Class
im_d 431x512 1765376 double array
Grand total is 220672 elements using 1765376 bytes
เพื่อใหผูใชงานโปรแกรมมีความคลองตัวในการเขียนโปรแกรม MATLAB ไดจัด
เตรียมฟงกชันพื้นฐานสําหรับการแปลงขอมูลชนิดตาง ๆ ไวใหแลว การแปลงขอมูล
จากชนิดหนึ่งไปเปนขอมูลอีกชนิดหนึ่งทําไดโดยการเรียกใชฟงกชันที่จัดไวให เชน
เมื่อตองการแปลงขอมูลภาพที่อยูในรูป unit8 ไปเปนขอมูลชนิด double เราสามารถ
ทําไดโดยการเรียกใชฟงกชัน double(.) นอกจากนั้นยังสามารถเรียกใชคําสั่ง
im2double(.) ฟงกชันนี้ จะเปลี่ยนคาเลขที่เก็บเปนชนิด uint8 ใหเปนขอมูลชนิด
double ที่มีคาอยูระหวาง 0 ถึง 1 และเมื่อตองการแปลงคาที่ไดกลับไปเปนขอมูลชนิด
uint8 สามารถทําได 2 วิธีเชนกันคือ ใชคําสั่ง uint8(255*im_d); การคูณ 255 ในคําสั่ง
เพื่อทําการปรับสเกลคาเลขทศนิยม ทีมีคาระหวาง 0 ถึง 1 ใหมีคาอยูระหวาง 0 ถึง
255 กอนตามคามาตราฐานที่ใชในการแสดงภาพ นอกจากนั้นเราอาจใชคําสั่ง
im2uint8(.) ในการแปลงคาขอมูล double ไปเปนคา uint8 ของภาพไดโดยตรง คําสั่ง
นี้จะทําการปรับคาความเขมแสงของภาพที่เปนเลขทศนิยมใหอยางอัตโนมัติ ไมจํา-
เปนตองคูณคาตัวแปรเลขทศนิยมดวยคา 255 กอนการใชตัวแปรดังแสดงตัวอยางการ
ใชงานคําสั่งทั้งสองดานลาง
>>im = imread (‘Temples.jpg’);
>>im_d= im2double(im);
>>x1 = uint8(im_d*255);
>>x2 = im2uint8(im_d);