• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

卢晓春的博客

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

C# 开发VisionMaster SDK取图 ImageBaseData 构造方法及参数

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类型

posted on 2025-01-06 08:24  卢晓春  阅读(662)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3