如果我有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;
如何找到其他矩阵类型的类型名称?
答案 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关于符号的一些解释。