在Android上玩转Opencv 系列: 1.基础知识 CvType

166 阅读1分钟

CvType 类型

在 Android 开发中,CvType 是 OpenCV(Open Source Computer Vision Library)提供的一个类,它定义了 Mat(矩阵) 数据的存储类型。不同的 CvType 代表不同的 通道数(C)每个通道的数据类型(depth)

CV_<bit-depth>U | CV_<bit-depth>S | CV_<bit-depth>F + C

bit-depth:表示每个通道的数据位数(如 8、16、32、64)

U(Unsigned)表示 无符号整数

S(Signed)表示 有符号整数

F(Float)表示 浮点数

C:表示 通道数(1~4,一般是 1(灰度)、3(RGB)、4(RGBA))

CvType 主要类型

image.png

选择合适的图像类型

普通灰度图 → CV_8UC1

普通 RGB 图像 → CV_8UC3

带透明度的图像 → CV_8UC4

深度图 → CV_16UC1

高精度计算(滤波、特征点) → CV_32FC1

极高精度计算 → CV_64FC1

用法示例


Mat img8Bit = new Mat(100, 100, CvType.CV_8UC3);  // 8位 RGB
Mat img16Bit = new Mat(100, 100, CvType.CV_16UC1); // 16位 灰度
Mat img32Bit = new Mat(100, 100, CvType.CV_32FC1); // 32位 浮点

备注

按需,按API要求的格式进行使用