java中byte是有符号的,首先要把有符号的整数转化一下呢?
public static Mat ConvertMatu8Tos32(Mat src)
{
if(src.type() != CvType.CV_8UC1 )
{
return null;
}
Mat ret = Mat.zeros(src.size(), CvType.CV_32SC1);
int rows = (int) ret.size().height;
int cols = (int) ret.size().width;
for( int i =0 ; i < rows; i++)
{
for(int j = 0 ; j < cols; j++)
{
byte byteData = MatUtils.getByteData(src, i, j);
int intData = 0xff & byteData;
ret.put(i, j, intData);
}
}
return ret;
}
转化完毕,然后去断点,你会发现所有的数据都一样了