我寫了下面的代碼:初始化矩陣
int _tmain(int argc, _TCHAR* argv[])
{
int vals[]={1,2,3,4,5,6,7,8,9};
CvMat mat = cvMat(3,3,CV_8UC1,vals);
for(int i=0;i<mat.rows;i++)
{
int* ptr = (int*) (mat.data.ptr + i* mat.step);
for(int j=0;j<mat.cols;j++)
{
printf("%d\t",*ptr++);
}
printf("\n");
}
return 0;
}
我得到的輸出是:
1 2 3
512 768 1024
196608 262144 327680
矩陣未正確初始化。指針ptr
指向每一行的開始,並遞增它給出相應列中的元素。我的假設是否正確?使用cvMat構造函數或元素的訪問方法是否有任何錯誤?
這是C++不是它,而不是C?他們是完全不同的語言。什麼是'CvMat'?什麼是'_Tchar'?你爲什麼使用演員? – 2012-08-12 16:35:26
CvMat是矩陣數據結構。 '_tchar'我在創建一個新項目後就這樣離開了它。 (它默認顯示)。但是你能告訴我主要功能'_tmain'的意思是什麼? (這些東西默認顯示) – 2012-08-12 18:36:30
你還沒有給出你的問題的背景,我們該如何猜測這些東西?請正確標記您的問題。 – 2012-08-12 18:51:58