int main () {
Mat A = Mat::ones(100, 100, CV_8U)*3;
cout << A.at<int>(0,0) << endl;
return 0;
}
输出是一个非常大的数字:: 50529027
任何人都可以帮我吗? C ++代码
答案 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来显示一个数字)