OpenCV Mat类型及convertTo转换

类型

在 Android OpenCv中给我们返回的 type 直接是 CV_8UC4

但是,在 C++ 中返回的是 16 等这些整型,所以,我找了个对照表

表头的 C1, C2, C3, C4 指的是通道(Channel)数,比如灰度图像只有 1 个通道,是 C1;JPEG格式 的 RGB 彩色图像就是 3 个通道,是 C3;PNG 格式的彩色图像除了 RGB 3个通道外,还有一个透明度通道。

CV_8S这一列表示深度

convertTo转换

  • convertTo 可以改变Mat的深度,例如可以把Mat的type从CV_8UC3改为CV_16SC3
  • convertTo 可以改变Mat的通道数,例如可以把Mat的type从CV_8UC3改为CV_8UC1,即使你填入的转换类型通道数不同,输出的通道数还是与输入的通道数相同
  • convertTo 支持就地(in-place)操作,这句话的意思是支持 mat.convertTo(mat,CV_16SC3) ,自己转换之后立马赋值给自己

猜你喜欢

转载自blog.csdn.net/qq_41885673/article/details/115432910