这几天遇到了问题就是在MFC中开发SDK,遇到了问题是:

1.回调函数中的原始图像没数据,但是图像的信息是有的

这个问题的主要原因在于海康相机的默认输出数据的格式是 YUYV ,并不是RGB的,因此需要设置一下即可,两种方式:

1.在海康相机的客户端进行修改即可:

2.使用 MV_CC_SetPixelFormat 进行设置,具体设置如下:

//设置相机图像的像素格式
unsigned int enValue = PixelType_Gvsp_RGB8_Packed;
nRet = MV_CC_SetPixelFormat(m_handle, enValue);
if (MV_OK != nRet)
{
printf ("error: SetPixelFormat fail [%x]\n", nRet);
return;
}

其实这是海康相机开发手册里面的代码,大家可以好好看看里面的代码。这个问题解决后在转换为halcon类型的图像时出问题了。

2.进行halcon图像中转换时,出现了异常,没报错,如何解决?

这个问题的出现情况是使用了halcon17  64位版本造成的,在使用GenImage3Extern()函数时会有一个警告是指针截断,如下:

这个警告不可忽视,数据产生了截断了,这个截断是导致转换异常的根本所在,具体原因是:

确保传递的是存储图像数据的实际内存地址,而不是指针变量的地址。必须注意不要截断64位体系结构上的64位指针

大家去halcon的帮助文档去搜索这个算子gen_image3_extern (Operator),里面有详细的描述。这个算子经过导出c++以后就是这个GenImage3Extern()函数。

如何解决呢?很简单,把halcon17  64位换成32位,不换行不行,我目前没找到更好的解决指针截断的方法,如果有人找到了,麻烦通知我一下,这里先谢过了呀。

换过版本后程序完美运行,只是显示有点问题,但是问题不大, 综合来看,装软件尽量装32位的吧,国内的东西都还停留在32位的居多,尤其要和硬件底层打交道的,VS也不要用太高的版本,你会发现厂家的VS大多数都是2015或者是2010。

这里基本结束了,后面继续开发,看看还会遇到哪些问题,然后在总结

海康相机SDK+halcon17(64位)+MFC+VS(64位)联合开发遇到的问题(在使用GenImage3Extern将RGB数据转换为halcon图像时出现异常情况处理)相关推荐

  1. 关于使用海康相机SDK采集图片并传递给C++的使用总结

    一.背景 需要用C#调用海康相机SDK采集图片,并将采集的图片以Byte[]数组的形式传递给C++版视觉处理dll 二.步骤 1.声明变量 public MyCamera myCamera;//相机对 ...

  2. C/C++实战——基于Qt框架和visual studio的海康相机SDK二次开发

    最近在进行机器视觉系统的搭建,积累了经验,想和大家讨论.互相学习.相机是图像的来源.为了搭建视觉系统,完成图像分析.机器视觉任务,需要编程控制相机按工作所需的曝光.增益和帧率同步采集和存储图像.工业相 ...

  3. 海康相机SDK二次开发的一些报错和解决办法

    1.MV_OK 0x00000000 成功,无错误 解析:-2147483648/0x80000000正常状态返回,执行成功 2.MV_E_HANDLE 0x80000000 错误或无效的句 解析:- ...

  4. 海康相机-SDK二次开发(NVR)-多相机IPCamera连接采集-opencv图像格式转换

    主要功能: 海康SDK开发,通过连接NVR,实现连接NVR的2个相机同时采集(多线程),并进行opencv图像格式转换. 关键技术点: 1.回调函数 2.YV12->oepncv图像格式转换 3 ...

  5. ubuntu20.04超简单的安装海康相机与海康sdk调试问题

    海康相机安装与调试 1.安装海康相机 2.调试海康相机 3.例子调试 本人因为公司项目需要用海康相机,所以我最近也在琢磨,同时也遇到了一些小小的问题,解决问题后,我想到经常通过博客很方便的解决问题,少 ...

  6. 海康相机抓图+OPENCV格式转换问题

    使用的工业相机是海康威视的MV-CA032-10GC 1.不会转换格式先找demo 开发海康相机sdk联合opencv的时候,格式转换问题搞了整整一天,一开始不知道如何将抓图得到的数据转成opencv ...

  7. 嵌入式linux 海康 sdk,海康相机开发(1) SDK安装和开发

    1.1 安装包获取 从官网下载最新版本的MVS安装包,支持Windows xp.Windows 7.Windows 8.Windows 10的32和64位系统.安装过程默认即可. 官网下载链接:htt ...

  8. 海康工业相机SDK + OpenCV实例(5):相机双线程读写缓存策略

    海康工业相机SDK + OpenCV实例(5): 相机双线程读写缓存策略 文章目录 海康工业相机SDK + OpenCV实例(5): 相机双线程读写缓存策略 前言 一.双线程 二.缓存区容量为2的生产 ...

  9. 海康工业相机SDK + OpenCV实例(4):相机参数设置详解

    海康工业相机SDK + OpenCV实例(4): 相机参数设置详解 文章目录 海康工业相机SDK + OpenCV实例(4): 相机参数设置详解 前言 一.相机参数基本接口 二.自动曝光时间调整亮度 ...

最新文章

  1. 利用Kafka和Cassandra构建实时异常检测实验
  2. Wcf 接收对http://*.*.*.*的的 HTTP 响应时发生错误... 的解决方法
  3. php 数组存入mysql_PHP将数组存入数据库中的四种方式
  4. 如何做流数据分析,Byron Ellis来告诉你...
  5. Faster-RCNN训练时遇到的问题
  6. numactl:NETLINK示例源码
  7. python loggeru模块_python常用模块——logger模块
  8. About Exception Handling
  9. java scanner类成员_Java Scanner类的使用示例
  10. python入门基础要点,入门决定没问题(初学者专属)
  11. 2019 秋季最新最全面 JAVA 面试题 附答案
  12. Android应用市场和应用包名大全
  13. 用sk-learn实现新闻的分类预测(完整代码)
  14. 插入法、选择法、冒泡法(C++实现)
  15. 润乾报表入门问题记录
  16. 微信公众号查券返利机器人搭建教程
  17. 数字图像处理实验目录
  18. SAP云平台的试用账号手机验证
  19. DS村村通工程(Kruskal算法)
  20. 一种用于解决银行代理产品交易热点账户的系统及方法

热门文章

  1. 虚拟机中部署ISA Server 2006 防火墙 网络设置(上)
  2. Q100:怎么用三角形网格细分回旋体(rotational sweeping / revolution)
  3. OCR文字识别技术总结(四)
  4. Sparkstreaming实时开发详解
  5. html图片自动剪裁,HTML canvas图像裁剪
  6. 年度调薪一般涨多少_涨了!长沙各小区房价曝光!快来看看你的房子涨了多少钱...
  7. 单片机加减法计算器_大神们!汇编,数码管显示简易加减计算器
  8. java去哪导包_在Java语言中,哪一个包中的类是自动导入的?( )java.applet
  9. oracle 查看过程的用户,Oracle 查看 用户拥有权限的过程
  10. 用函数实现字符串拼接_JDK拍了拍你:字符串拼接一定记得用MessageFormat#format