0
我想製作一個標識矩陣,然後從其對角元素中減去一些不同的浮點數。這是我做了什麼:訪問單位矩陣中的元素
cv::Mat R = cv::Mat::eye(trainingMat.rows,trainingMat.rows, CV_32F);
(trainingMat
是其他矩陣)這裏是奇怪的事情。當我寫:
std::cerr<<R.at<double>(0,0)<<std::endl;
我得到一個奇怪的數字(但它應該是1.0f的權利?)。當我這樣做:
for(unsigned int i = 0; i < trainingMat.rows; i++){
std::cerr<<R.at<double>(i,i)<<std::endl;
}
再次我得到一些奇怪的數字。我究竟做錯了什麼?
請參閱http://stackoverflow.com/questions/15130162/how-to-access-pixel-values-of-cv-32f-cv-64f-mat試試'R.at(0,0)' –
francis
或者定義你的Mat類型'CV_64F' – Miki
「但它應該是1.0f」 - 你明確地轉換爲'double',你爲什麼期望得到一個'float'(不同類型)? –