template<typename _Tp> class DataType { // value_type は常に _Tp と等しくなります. typedef _Tp value_type; // _Tp の処理で利用される中間型です. // uchar, signed char, unsigned char, signed short, int に対しては int , // float に対しては float , double に対しては double , ... typedef <...> work_type; // マルチチャンネルデータの場合,これは各チャンネルのデータ型になります. typedef <...> channel_type; enum { // CV_8U ... CV_64F depth = DataDepth<channel_type>::value, // 1