Matlab读入的图像缘何和OpenCv的不一样?

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;
    }

转化完毕,然后去断点,你会发现所有的数据都一样了

你可能感兴趣的:(OpenCv,OpenCV,Matlab,图像读取)