Menu

Monday, October 14, 2013

[EmguCV] ทำไมขนาดข้อมูลของภาพแตกต่างจากขนาดของภาพ
[EmguCV] Why Image Data Size is different from Image Size

สมมติให้
Suppose that
  1. Image<Bgr,byte> img = new Image<Bgr,byte>(73,100);

ค่าของ img.Cols และ img.Width จะเป็น 73 แต่ค่าของ img.Data.GetLength(1) จะเป็น 76.
The value of img.Cols and img.Width are 73 but the value of img.Data.GetLength(1) is 76.

อย่างไรก็ตาม ค่าของ img.Rows, img.Height, และ img.Data.GetLength(0) จะมีค่าเท่ากัน คือ 100
However, the value of  img.Rows, img.Height, and img.Data.GetLength(0) are the same which are 100

สาเหตุนี้เป็นเพราะ EmguCV ต้องการจัดเรียงแต่ละแถวของภาพให้มีขนาดเป็นจำนวนเท่าของ 4 ไบต์เพื่อเพิ่มประสิทธิภาพในการดึงข้อมูล
This is because EmguCV requires each row of image to be aligned by 4 bytes to improve efficiency in fetching data.

No comments:

Post a Comment