ImageBaseData结构探寻
参考:https://blog.csdn.net/weixin_44391223/article/details/125387952
前4个参数分别为 byte数组 数组长度 图片宽度和图片高度
但是第五个参数 Pixelformat 为什么为1并不确定
查看SDK内的C语言头文件可知,应该是两个宏定义
C:\Program Files\VisionMaster4.2.0\Development\V4.x\Includes\VmModuleResultBase.h
// 图像像素格式
typedef enum _MvdPixelFormat_
{
MVD_PIXEL_NULL = 0,
//Mono8
MVD_PIXEL_MONO_08 = IMVS_PF_IMG_FORMAT_MONO8, //| 8b | D0 | S0 |
//RGB 3 RGBRGB...
MVD_PIXEL_RGB_RGB24_C3 = IMVS_PF_IMG_FORMAT_RGB24, //| 8b | RGB:D0 | RGB:S0 |
}MvdPixelFormat;
// 图像基本信息结构
typedef struct ImageBaseData__
{
void * ImageData;
unsigned int DataLen;
int Width;
int Height;
MvdPixelFormat Pixelformat;
} ImageBaseData;
具体定义在
C:\Program Files\VisionMaster4.2.0\Development\V4.x\Includes\iMVS-6000PlatformSDKDefine.h
const static unsigned int IMVS_PF_IMG_FORMAT_MONO8 = 0x01080001; // CH: 像素格式 MONO8 | EN: MONO8 pixel format
const static unsigned int IMVS_PF_IMG_FORMAT_RGB24 = 0x02180014; // CH: 像素格式 RGB24 | EN: RGB24 pixel format
因此Mono8格式图片应该用0x01080001
RGB24格式用0x02180014
并非为1
佐证
在反编译的SDK C#类库中,也能看到默认值是 0x01080001 即Mono8类型