15

type の行列がある場合CV_32SC1、 function でどの typename を使用すればよい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 に答える