Opencv 학습 노트 (2): Opencv 의 기본 데이터 형식 과 데이터 구조

3421 단어 Opencvopencv
Opencv 의 기본 데이터 형식 과 데이터 구조
Last Edit 2013/12/9
1. 매트릭스 데이터 형식 과 이미지 데이터 형식
   매트릭스 데이터 형식: C 언어 에서 2 차원 데이터 중의 데이터 형식, 예 를 들 어 int, float, char 등 과 같다.Opencv 에서 행렬 의 데이터 형식                                  있다: (S: 기호 정수 가 있 고 U: 기호 정수 가 없 으 며 F: 부동 소수점)
                            CV_8UC1:   8 비트 기호 가 없 는 단일 채널 행렬;
                            CV_32FC2:  32 비트 부동 소수점 형 2 채널 행렬;
                            ....
이 매트릭스 데이터 형식 은 일반적으로 분배 매트릭스 함수 에서 사 용 됩 니 다. CvMat * cvCreateMat (int rows, int cols, int type), 그 중에서 이 type 은 위의 매트릭스 데이터 형식 입 니 다.
   이미지 데이터 형식: 일반적인 형식: IPLDEPTH_<8, 32, 64 > (S | U | F), 이 IPL 은 Intel Image Processing Library 의 약자 입 니 다.
                            IPL_DEPTH_8U;   8 비트 부호 없 는 정수;
                            IPL_DEPTH_32F: 32 비트 의 부동 소수점;
2. 상용 데이터 구조
1)CvPoint:  성형 점 만 정의 할 수 있 습 니 다.
4. 567913. 구분 에 주의 하 세 요. CvPoint, cvPoint, 하 나 는 데이터 형식 이 고 구조 함수 입 니 다.
2) CvPoint2D32f: 2 차원 부동 소수점 형의 점
CvPoint 
        ,      
typedef struct CvPoint
{
int x; /* X  ,    0    */
int y; /* y  ,    0    */
}
CvPoint;
/*      */
inline CvPoint cvPoint( int x, int y );
/*   CvPoint2D32f       */
inline CvPoint cvPointFrom32f( CvPoint2D32f point )

3) CvPoint32f: 3 차원 부동 소수점 형의 점
CvPoint2D32f 
       ,      
typedef struct CvPoint2D32f
{
float x; /* X  ,    0   */
float y; /* Y  ,    0   */
}
CvPoint2D32f;
/*      */
inline CvPoint2D32f cvPoint2D32f( double x, double y );
/*  CvPoint    */
inline CvPoint2D32f cvPointTo32f( CvPoint point );

4) CVsize: 픽 셀 단위 로 정 의 된 사각형 상자 크기 이지 만 이 사각형 상자 의 그림 위 치 를 가리 키 지 않 았 습 니 다.
typedef struct CvPoint3D32f
{
float x; /* x-  ,     0 */
float y; /* y-  ,     0 */
float z; /* z-  ,     0 */
}
CvPoint3D32f;
/*      */
inline CvPoint3D32f cvPoint3D32f( double x, double y, double z );

5) CRect: 사각형 상자 의 오프셋 과 크기 를 정의 합 니 다. 위의 CSize 와 구분 하 십시오.
typedef struct CvSize
{
int width; /*     */
int height; /*     */
}
CvSize;
/*      */
inline CvSize cvSize( int width, int height );

6) CVScalar: 1 ~ 4 개의 수 치 를 저장 할 수 있 는 배열
typedef struct CvRect
{
int x; /*        x-   */
int y; /*            y-   */
int width; /*   */
int height; /*   */
}
CvRect;
/*     */
inline CvRect cvRect( int x, int y, int width, int height );

7) CvMat: 다 중 채널 매트릭스
typedef struct CvScalar
{
double val[4]
}
CvScalar;
/*     : val0   val[0] val1   val[1],     */
inline CvScalar cvScalar( double val0, double val1=0,double val2=0, double val3=0 );
/*     : val0123     val[0]...val[3] */
inline CvScalar cvScalarAll( double val0123 );
/*     : val0   val[0], 0   val[1],val[2],val[3] */
inline CvScalar cvRealScalar( double val0 );

8) IplImage: 이미지 구조, 이미지 정보 포함: 크기, 채널 수, 픽 셀 깊이, 이미지 배열 줄 크기
typedef struct CvMat
{
int type; /* CvMat    (CV_MAT_MAGIC_VAL),         */
int step; /*             */
int* refcount; /*        */
union
{
uchar* ptr;
short* s;
int* i;
float* fl;
double* db;
} data; /* data    */           
#ifdef __cplusplus
union
{
int rows;
int height;
};
union
{
int cols;
int width;
};
#else
int rows; /*    */
int cols; /*   */
#endif
} CvMat;

9) CvArr: 이것 은 이미지 구조의 일반적인 유형 으로 함수 의 매개 변수 에 사용 되 며 함수 가 서로 다른 이미지 데 이 터 를 받 아들 일 수 있 음 을 나타 낸다.
                            

좋은 웹페이지 즐겨찾기