我們分別將二維陣列第一行的首地址和單通道Mat第一行的首地址賦給指標:
1 int a[2][2] = 2 { 3 {1,2}, 4 {3,4} 5 }; 6 7 int* p = a[0]; 8 cout << p[2] << endl;
結果為3
1 Mat m = (Mat_<int>(2, 2) << 1,2,3,4); 2 3 //獲取指向第一行的指標 4 int* ptr = m.ptr<int>(0); 5 cout<<ptr[2]<<endl;
結果為3
說明當指標指向二維陣列或則單通道Mat的某一行時,當指標的索引值超出這一行列數最大的下標,則會自動獲取下一行的元素
1 int* ptr = m.ptr<int>(0); 2 3 //可以遍歷所有元素,不必擔心超出最大列 4 for (int i = 0; i < m.total(); i++) 5 { 6 cout << ptr[i] << ","; 7 if (i % m.cols) 8 { 9 cout << endl; 10 } 11 }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/509460.html
標籤:C++
上一篇:運行的第一個Django
