c++ - OpenCv Mat initialization from array not working -


i initializing mat object array this

int data[4] = {111,2,3,4}; mat = mat(2, 2, cv_8uc1, data);   

now when printing value @ (1,1) should 4

cout<<"\n m1 @ 1,1 "<<(int)a.at<uchar>(1,1); 

it printing- 0

i using vs2008 in windows xp , opencv 2.3. stuck on since yesterday.

your matrix holds 8 bit elements (that cv_8uc1 means). passing array of ints. assuming 32 bit ints, first one, 111, should enough fill array. significant 8 bits of 111 go position 1,1, , these 0s. element value 0.

try passing 8 bit unsigned elements:

unsigned char data[4] = {111,2,3,4}; mat = mat(2, 2, cv_8uc1, data); 

alternatively, if need store signed 32 bit elements, use cv_32s.


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -