0
是否存在一些方法可用于确定存储在OpenCV中的Mat结构中的元素的数据类型(如uchar,cv :: Vec3b ...) ?存储在OpenCV的Mat结构中的元素的类型
是否存在一些方法可用于确定存储在OpenCV中的Mat结构中的元素的数据类型(如uchar,cv :: Vec3b ...) ?存储在OpenCV的Mat结构中的元素的类型
您可以使用cv::Mat::type()
来确定存储在cv::Mat
中的像素的数据类型。
类型可以如下确定:
int type = mat.type();
if(type == CV_8UC1)
unsigned char* ptr = mat.ptr<unsigned char>();
else if(type == CV_8UC3)
cv::Vec3b* ptr = mat.ptr<cv::Vec3b>();
else if(type == CV_16UC3)
unsigned short* ptr = mat.ptr<unsigned short>();
else if(type == CV_16UC3)
cv::Vec3w* ptr = mat.ptr<cv::Vec3w>();
else if(type == CV_32FC1)
float* ptr = mat.ptr<float>();
else if(type == CV_32FC3)
cv::Vec3f* ptr = mat.ptr<cv::Vec3f>();
else
printf("Unknown type\n");
的问题是,PTR,定义的方式,可见只有内如果statment。 –
@ old-ufo ..是的,我只是想用一个例子来清除这个概念。联盟或类似的东西可以用来避免这个问题。 – sgarizvi