访问opencv矩阵CV_32S元素

时间:2012-10-08 15:49:53

标签: c++ opencv matrix

如果我有CV_32SC1类型的矩阵,我应该在函数Mat::at中使用什么类型名称?

e.g。

Mat X;  // for example eye matrix of size 10,10,and type CV_32SC1
X.at<??????>(1,1)=5;

如何找到其他矩阵类型的类型名称?

2 个答案:

答案 0 :(得分:16)

OpenCV中Matrices类型名称的一般规则是:

 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>

答案 1 :(得分:4)

CV_32SC1是1通道有符号32位整数,那么我认为X.at<int>()应该这样做。

Mat已经'知道'如何处理像素,该类型只是将位转换为表达式求值所需的C ++值。

我发现了here关于符号的一些解释。