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;
他の行列タイプのタイプ名を見つけるにはどうすればよいですか?
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 は符号付き 32 ビット整数の 1 チャネルであり、そうするX.at<int>()
べきだと思います。
Mat は、ピクセルのアドレス指定方法を既に「知っている」ので、式の評価に必要な C++ 値にビットをキャストするだけです。
ここで、表記法についての説明を見つけました。