Page 158 -
P. 158

โครงการหนังสืออิเล็กทรอนิกส์ เฉลิมพระเกียรติสมเด็จพระเทพรัตนราชสุดาฯ สยามบรมราชกุมารี







                                                                                                       149

                            5.5 การหมุนภาพดวยคําสั่ง MATLAB



                                   เราสามารถหมุนภาพ A ดวยคําสั่ง MATLAB  ดังตอไปนี้


                                                        B = imrotate(A, angle, ‘method’)


                                   คําสั่งนี้จะหมุนภาพ A ไปเปนมุม angle องศารอบจุดกําเนิด โดยจะหมุนในทิศทวน

                                   เข็มนาฬิกาถาคา angle เปนบวก และจะหมุนในทิศตามเข็มนาฬิกาถาคา angle มีคา

                                   เปนลบ  โดยเราสามารถระบุวิธีที่ใชประมาณคาความสวางของจุดภาพไดผานตัวแปร

                                   method ในกรณีที่ไมไดกําหนดคา method โปรแกรมจะทําการประมาณคาความสวาง
                                   ของภาพดวยวิธี nearest neighborhood ตัวอยางเชน เมื่อตองการหมุนภาพ 5.6(ง) ใน

                                   ทิศทวนเข็มนาฬิกาเปนมุม 45  องศา  และเลือกการประมาณคาแบบ bi-cubic  คําสั่ง

                                   MATLAB ที่ใชเปนดังตอไปนี้


                                      >> A = imread(‘sying.jpg');
                                      >> B = imrotate(A,45, 'bicubic');figure, imshow(B);



                                   ผลลัพธที่ไดจากการรันคําสั่งขางตนแสดงในรูปที่ 5.8(ก)  ภาพที่ไดจะมีขนาดใหญ
                                   กวาภาพตนฉบับเพื่อใหสามารถเก็บจุดภาพทั้งหมดหลังการหมุนได   ในกรณีที่เรา

                                   ตองการใหภาพผลลัพธที่ไดมีขนาดภาพเทากับภาพตนฉบับ  เราสามารถทําไดโดย

                                   เพิ่มพารามิเตอร bbox เขาไปในคําสั่ง imrotate(.) ตามรูปแบบการใชงานคําสั่งดังนี้


                                                     B = imrotate(A, angle, ‘method’, ‘bbox’)



                                   โดยสามารถระบุคา bbox ไดสองคา คือ ‘loose’ และ ‘crop’ คา ‘loose’ จะใหภาพ

                                   ผลลัพธที่มีขนาดใหญที่สุดที่สามารถเก็บภาพหลังการหมุนได  สวนคา ‘crop’ จะให
                                   ภาพผลลัพธภาพหลังการหมุนเทากับภาพตนฉบับ  รูปที่ 5.8(ข)  แสดงผลลัพธที่ได

                                   หลังการ crop ภาพที่หมุนภาพไป -45 องศา คําสั่ง MATLAB ที่ใชเปนดังนี้
   153   154   155   156   157   158   159   160   161   162   163