I am trying to convert a simple 2D array to Mat in C++, but when I output Mat it shows that it is filling the matrix by skipping an element.
int size = 3;
static unsigned int x [3][3];
for (int i = 0; i <size;i++){
for(int j = 0; j <size; j++){
x[i][j] = 255*3;
std::cout << x[i][j]<<' ' << 'x'<<std::endl;
}
}
cv::Mat A(size,size, CV_16U,x);
std::cout<< A<<' '<<std::endl;
Output:
765 x 765 x 765 x 765 x 765 x 765 x 765 x 765 x 765 x
[765, 0, 765; 0, 765, 0; 765, 0, 765]
Another example I tried:
int x[6] = {2,4,8,9,6,5};
cv::Mat A (2,3, CV_16U,x);
std::cout<< A<<' '<<std::endl;
Output:
[2, 0, 4; 0, 8, 0]
Can anyone please tell me what I am doing wrong, thanks.