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

轉化完畢,然後去斷點,你會發現所有的數據都一樣了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章