qq_27703765 2023-04-28 01:34 采纳率: 100%
浏览 124
已结题

海康SDK,python版BasicDemo

海康工业相机MVS最新更新了4.0.1版本自带的SDK里面,BasicDemo

img


用了这个接口显示,看不太懂,哪位能帮忙改成opencv显示吗,其他不要变,只改显示,相机型号CA060谢谢了

img

  • 写回答

4条回答 默认 最新

  • 爱晚乏客游 2023-04-28 08:01
    关注

    具体我没相机我也不能确定能不能行的通。不过按照我之前使用其他厂商的数据来说,一般这种都可以转成numpy格式。
    举个例子来说,stDisplayParam这个看做一个结构体的话,那么按照他命名的含义来看
    st.nWidth相当于图片的宽度,nHeight为图片的长度。那么剩下的就比较好办了,pixelType为图片的数据类型,pdata为图片指针,dataLen为指针长度。有了这些信息,那就可以根据他的这个结构体转成numpy格式的数组。
    类似下面这样。当然,实际操作过程不一定可以用,还要考虑他的enPixelType是不是np支持的格式,如果不支持要怎么转换到np的数据类型,
    pData指针是二进制的指针还是类似一个列表,如果是二进制的指针需要用类似np.fromstring()之类的转成二进制,然后使用opencv的imdecode函数转换等等。
    而如果是c++的接口会更好转,这个结构体一看就清楚,只要知道他的各个的参数的定义就行了,python没有参数数据类型就比较繁琐一些。
    以下为默认pData指针为一个列表,enPixelType为np.uint8,单通道图片就可以用这种方法来转换:

    
    img=np.array(stDisplayParam.pData,dtype=stDisplayParam.enPixelType).reshape((stDisplayParam.nHeight,stDisplayParam.nWidth))
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月8日
  • 已采纳回答 5月1日
  • 修改了问题 4月28日
  • 赞助了问题酬金15元 4月28日
  • 展开全部
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部