Mat ::不在OpenCV中工作

时间:2013-02-13 12:18:21

标签: c++ opencv

int main () {    

    Mat A = Mat::ones(100, 100, CV_8U)*3;
    cout << A.at<int>(0,0) << endl;

    return 0;
}

输出是一个非常大的数字:: 50529027

任何人都可以帮我吗? C ++代码

1 个答案:

答案 0 :(得分:2)

you're casting to the wrong type in A.at<int>() // should be uchar instead of int

so, A.at<int>(0,0) sees 0x03030303, which is, in fact 50529027.

Mat A = Mat::ones(100, 100, CV_8U)*3;
cout << int(A.at<uchar>(0,0)) << endl;

(围绕A.at()的演员只是用cout而不是char来显示一个数字)