如果我有矩陣的類型CV_32SC1,哪個typename shuld我使用函數Mat :: at?訪問opencv矩陣CV_32S元素
例如
Mat X; // for example eye matrix of size 10,10,and type CV_32SC1
X.at<??????>(1,1)=5;
- 我如何才能找到其他矩陣類型的類型名稱?
如果我有矩陣的類型CV_32SC1,哪個typename shuld我使用函數Mat :: at?訪問opencv矩陣CV_32S元素
例如
Mat X; // for example eye matrix of size 10,10,and type CV_32SC1
X.at<??????>(1,1)=5;
爲矩陣typenames OpenCV中的一般規則是:
CV_<bit_depth>(S|U|F)C<number_of_channels>
S = Signed integer
U = Unsigned integer
F = Float
所以這取決於前面的字母(S,U,F)你,你會被鑄造<int>
,<unsigned integer>
或<float>
之一。
CV_32SC1是1個有符號的32位整數通道,那麼我認爲X.at<int>()
應該這樣做。
Mat已經'知道'如何處理一個像素,該類型只是將這些位轉換爲表達式求值所需的C++值。
我找到here關於符號的一些解釋。
不完全正確。在'
請實際[請閱讀](http://stackoverflow.com/review-beta/suggested-edits/780994)您點擊批准的評論 –
在這種情況下,我寧願到,因爲C++標準沒有指定整型類型的位長度 –
沒有CV_32U *類型,但是如果你的CV_32SC1數組實際上包含無符號值,你仍然可以使用'X.at(i,j)'。 –
greggo