Chapter 3. Getting to Know OpenCV
OpenCV Primitive Data Types
OpenCV has several primitive data types. These data types are not primitive from the point of view of C, but they are all simple structures, and we will regard them as atomic. You can examine details of the structures described in what follows (as well as other structures) in the cxtypes.h header file, which is in the …/OpenCV/cxcore/include directory of the OpenCV install.
The simplest of these types is CvPoint. CvPoint
is a
simple structure with two integer members, x
and y. CvPoint
has two siblings: CvPoint2D32f
and CvPoint3D32f
. The former
has the same two members x
and y
, which are both floating-point numbers. The latter also contains a third
element, z
.
CvSize
is more like a cousin to CvPoint
. Its members are width
and height
, which are both integers.
If you want floating-point numbers, use CvSize
's cousin
CvSize2D32f
.
CvRect
is another child of CvPoint
and CvSize
; it contains four
members: x, y, width
, and height
. (In case you were worried, this child was adopted.)
Last but not least is CvScalar
, which is a set of
four double-precision numbers. When memory is not an issue, CvScalar
is often used to represent one, two, or three real numbers (in these
cases, the unneeded components are simply ignored). CvScalar
has a single member val
, which is a
pointer to an array containing the four double-precision floating-point numbers.
All of these data types have constructor methods with names like cvSize()
(generally[14] the constructor ...
Get Learning OpenCV now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.