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