cvMatND 다 차원 배열 설정 및 읽 기 픽 셀 값

2205 단어 mat
원본 주소: http://shijuanfeng.blogbus.com/logs/206701809.html
opencv 의 다 차원 배열 인 MatND 의 용법 은 직사 도 는 다 차원 배열 이기 때문에 기본 적 인 용법 을 알 아 보고 소장 만 합 니 다.
 
void MatNDReadAndSet()
{
int M = 192;
int N = 168;
int K = 7;
int size[] = { M, N, K };
CvMatND* mXOrigin = cvCreateMatND( 3, size, CV_32FC1 );
cvSetZero( mXOrigin );

float c = 0;

for ( int k=0; k<K ; k++)
{
for ( int i=0; i<M; i++)
{
for ( int j=0; j<N; j++)
{
*(mXOrigin->data.fl + ( M*N*k + N*i + j) ) = c;
c = c+1;
}
}
}

for ( int k=0; k<K; k++)
{
for ( int i=0; i<M; i++)
{
for ( int j=0; j<N; j++)
{
cout << *(mXOrigin->data.fl + ( M*N*k + N*i + j) ) << "\t";
}
cout << endl;
}
cout << endl;
}


cvReleaseMatND( &mXOrigin );

}

이런 방식 을 제외 하고 c + + 에 서 는 또 다른 직접적인 방식 을 사용 할 수 있다.
uchar tt, tt1;
int dims[3]={256, 256, 256}; cv::MatND lookup(3,dims,CV_8U)
lookup.at(i, j,k) = tt;
tt1 = lookup.at(i, j,k);

좋은 웹페이지 즐겨찾기