15

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

例如

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

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

4

2 回答 2

22

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>.

于 2012-10-09T07:07:20.547 回答
4

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

Mat 已经“知道”如何寻址像素,该类型只是将位转换为表达式评估所需的 C++ 值。

我在这里找到了一些关于符号的解释。

于 2012-10-08T16:11:22.703 回答