Cv do OpenCV :: Alinhamento de linhas Mat & CvMat

poderia alguém pls me explicar como o alinhamento de linha do @ da OpenCvMat (ou sua versão C ++cv::Mat) trabalho? Por exemplo, vamos assumir que eu tenho uma matriz

CvMat *cvmat = cvCreateMat(2,3,CV_8UC1);
cvSet2D( cvmat, 0, 0, cvScalar(1) );
cvSet2D( cvmat, 0, 1, cvScalar(2) );
cvSet2D( cvmat, 0, 2, cvScalar(3) );
cvSet2D( cvmat, 1, 0, cvScalar(4) );
cvSet2D( cvmat, 1, 1, cvScalar(5) );
cvSet2D( cvmat, 1, 2, cvScalar(6) );

De acordo com a documentação deCvMat, as linhas devem ser alinhadas por 4 bytes, ou seja, a primeira linha da matriz deve ser preenchida com um zero e a segunda deve começar no deslocamento +4). No entanto, se eu depurar esse trecho de código, os dados serão contínuos (ou seja,cvmat->data é[1,2,3,4,5,6]) e não vejo alinhamento de 4 bytes. Isso é um bug na documentação e é sempre seguro assumir a continuidade dos dados deCvMat oucv::Mat (no caso em que a matriz não faz parte de outro ofc)? Ou existem algumas configurações especiais nas quais pode haver algumas lacunas nos dados como resultado do alinhamento da memória?

questionAnswers(1)

yourAnswerToTheQuestion