การสร้างตัวแปรชนิดรูปภาพ
                ในการเขียนโปรแกรมโดยใช้ไลบราลี่ของ emgu cv สิ่งพื้นฐานที่สุดที่จำเป็นจะต้องรู้ คือการสร้างตัวแปรชนิดรูปภาพ  โดยสามารถเรียกใช้ฟังชั่นของ emgu cv ได้เลย ดังนี้

Image<Bgr, Byte> img1 = new Image<Bgr, Byte>(480, 320);

Bgr คือ ประเภทสีของรูปภาพ โดย emgu cv เวอร์ชั่น 1.3.0.0 ขึ้นไปสามารถใช้ประเภทสีได้ดังนี้
-  Gray
-  Bgr (Blue Green Red)
-  Bgra (Blue Green Red Alpha)
-  Hsv (Hue Saturation Value)
-  Hls (Hue Lightness Saturation)
-  Lab (CIE L*a*b*)
-  Luv (CIE L*u*v*)
-  Xyz (CIE XYZ.Rec 709 with D65 white point)
-  Ycc (YCrCb JPEG)

Byte คือความลึกของ pixel เช่น Byte ในแต่ละ pixel จะสามารถมีค่าได้ตั้งแต่ 0-255
-  Byte  : แต่ละ pixel สามารถมีค่าได้ตั้งแต่ 0 to 255
-  Sbyte (Signed Byte) : แต่ละ pixel สามารถมีค่าได้ตั้งแต่  -128 to 127
-  Single (float) : แต่ละ pixel สามารถมีค่าได้ตั้งแต่  ±1.5 × 1045 to  ±3.4 × 1038
-  Double : แต่ละ pixel สามารถมีค่าได้ตั้งแต่  ±5.0 × 10324 to  ±1.7 × 10308
-  UInt16 : แต่ละ pixel สามารถมีค่าได้ตั้งแต่  0 to 65,535
-  Int16 : แต่ละ pixel สามารถมีค่าได้ตั้งแต่  -32768 to +32787
-  Int32 (int) : แต่ละ pixel สามารถมีค่าได้ตั้งแต่  -2,147,483684 to +2,147,483683

*** โดยปกติแล้วเราจะใช้ ชนิด Byte กัน เพราะใช้ memory ในการเก็บข้อมูลน้อย และสามารถประมวลผลได้รวดเร็ว แต่ในกรณีที่ต้องการคำนวณแบบหนักๆ เราจะหันมาใช้ชนิด float หรือ double เพื่อช่วยเพิ่มความแม่นยำมากยิ่งขึ้น ***

Img1 คือ ชื่อตัวแปร
480 และ 320 คือ ความกว้าง และความสูงตามลำดับ

Tip:
1. เราสามารถกำหนดค่าสีของแต่ละ pixel ในการสร้างภาพได้เลย เช่น
Image<Bgr, Byte> img1 = new Image<Bgr, Byte>(480, 320, new Bgr(255, 0, 0));
Image<Gray, Byte> img2 = new Image< Gray, Byte>(480, 320, new Gray(127));
 
2. เราสามารถอ่านไฟล์รูปจาก memory มาเก็บไว้ในตัวแปรได้ดังนี้
Image<Bgr, Byte> img3 = new Image<Bgr, Byte>(“Myfile.jpg” );


Post a Comment

Templated by Blogger Items