テンプレートの使用を制限
C ++でのテンプレートインターフェイスのメカニズムは非常に、使いやすく効率的なデータとアルゴリズムのセキュリティを保証することができるように。インタフェースと実装を区別するためにしかし、テンプレートの過度の使用は、計算時間とコードサイズが大きくなることがあり、また時には難しいです。テンプレートの過度の使用は、OpenCVので良いことではありません、すべての時に多くのOpenCVのアルゴリズムで述べたrefman OpenCVのは、コードファイルの行数千をオンにし、OpenCVのは、JAVA、PYTHON、MATLABなどなど他の言語のサポートを簡素化する必要がありますテンプレートの使用が制限されますので、何のテンプレートは、他の理由はありません。全体的に、OpenCVの現在のバージョンは、テンプレートの使用を制限することです。
基本的なストレージタイプ(ピクセル)
プリミティブデータ型(画素レベル)OpenCVの動作は以下の通りであります:
Mat_は<UCHAR> CV_8U、Mat_は<UCHAR> CV_8U、Mat_を対応相当<チャー> CV_8S、Mat_は<整数> CV_32S、Mat_ CV_32F、Mat_ <二重>対応<フロート>に対応する相当に対応CV_64F、深度データは、以下に対応するには、次のとおりです。
8ビットの符号なし整数(UCHAR)
8ビット符号付き整数(SCHAR)
16ビットの符号なし整数(USHORT)
16ビット符号付き整数(ショート)
32ビット符号付き整数(INT)
32ビットの浮動小数点数(フロート)
64ビットの浮動小数点数(ダブル)
列挙内のコードは次のよう:
1つの 列挙 {CV_8U = 0、CV_8S = 1、CV_16U = 2、CV_16S = 3、CV_32S = 4、CV_32F = 5、CV_64F = 6 }。
例えば:
1台のマットMTX(3、3、CV_32F)。// 3x3の浮動小数点行列作る
2マットCMTX(10、1、CV_64FC2)を、//は10x1では、2チャンネルの浮動小数点マトリックス(10要素複合ベクトル)する
3マットIMG(サイズ(1920、1080)、CV_8UC3)。// 1920列1080行の3チャンネル(色)画像を作ります。
4マット階調(image.size()、CV_MAKETYPE(image.depth()、1))。// IMGと同じサイズ、同じチャンネル型の1チャンネルの画像を作成します
ます。https://www.cnblogs.com/charleshuang/p/4189445.htmlで再現