1、将HTuple转化为C++的类型

将Local control variables(HTuple类型)转化为C++基本类型,其中I()代表int类型,L()代表转化为long类型,Num()代表返回数据个数,D()代表转化为double类型,S()代表转换为string类型。

HTuple hTuple = 1234;

int i = hTuple[0].I(); // i=1234
long l = hTuple[0].L(); // l=1234
long lNumber = hTuple.Num(); // lNumber=1,数据个数
double d = hTuple[0].D(); // d=1234.0000

hTuple = "1234";

CString strBuffer = hTuple[0].S(); // strBuffer="1234"

2、OpenCV中的Mat类型与Halcon中的HObject类型相互转化

HObject Mat2HObject(Mat& image)
{HObject Hobj=HObject();int hgt=image.rows;int wid=image.cols;int i;//   CV_8UC3if(image.type() == CV_8UC3){vector<Mat> imgchannel;split(image,imgchannel);Mat imgB=imgchannel[0];Mat imgG=imgchannel[1];Mat imgR=imgchannel[2];uchar* dataR=new uchar[hgt*wid];uchar* dataG=new uchar[hgt*wid];uchar* dataB=new uchar[hgt*wid];for(i=0;i<hgt;i++){memcpy(dataR+wid*i,imgR.data+imgR.step*i,wid);memcpy(dataG+wid*i,imgG.data+imgG.step*i,wid);memcpy(dataB+wid*i,imgB.data+imgB.step*i,wid);}GenImage3(&Hobj,"byte",wid,hgt,(Hlong)dataR,(Hlong)dataG,(Hlong)dataB);delete []dataR;delete []dataG;delete []dataB;dataR=NULL;dataG=NULL;dataB=NULL;}//    CV_8UCU1else if(image.type() == CV_8UC1){uchar* data=new uchar[hgt*wid];for(i=0;i<hgt;i++)memcpy(data+wid*i,image.data+image.step*i,wid);GenImage1(&Hobj,"byte",wid,hgt,(Hlong)data);delete[] data;data=NULL;}return Hobj;
}Mat HObject2Mat(HObject Hobj)
{HTuple htCh=HTuple();HTuple cType;Mat Image;ConvertImageType(Hobj,&Hobj,"byte");CountChannels(Hobj,&htCh);HTuple wid;HTuple hgt;int W,H;if(htCh[0].I()==1){HTuple ptr;GetImagePointer1(Hobj,&ptr,&cType,&wid,&hgt);W=(Hlong)wid;H=(Hlong)hgt;Image.create(H,W,CV_8UC1);uchar* pdata=(uchar*)ptr[0].I();memcpy(Image.data,pdata,W*H);}else if(htCh[0].I()==3){HTuple ptrR, ptrG, ptrB;GetImagePointer3(Hobj,&ptrR,&ptrG,&ptrB,&cType,&wid,&hgt);W=(Hlong)wid;H=(Hlong)hgt;Image.create(H,W,CV_8UC3);vector<Mat> vecM(3);vecM[2].create(H,W,CV_8UC1);vecM[1].create(H,W,CV_8UC1);vecM[0].create(H,W,CV_8UC1);uchar* pr=(uchar*)ptrR[0].I();uchar* pg=(uchar*)ptrG[0].I();uchar* pb=(uchar*)ptrB[0].I();memcpy(vecM[2].data,pr,W*H);memcpy(vecM[1].data,pg,W*H);memcpy(vecM[0].data,pb,W*H);merge(vecM,Image);}return Image;
}

halcon变量,图像与C++的一些转换(未完待续)相关推荐

  1. 进制转换(未完待续)

    static int f(){  //k进制转换为十进制 Scanner input = new Scanner(System.in); System.out.print("K进制数转换为十 ...

  2. [Python]数据类型、常量、变量和运算符(未完待续)

    标识符 一个ASCII标识符需要同时满足以下三个条件: 1.第一个字符必须是字母表中的字母或者下划线_ 2.标识符的其他部分由字母.数字.下划线组成 3.标识符对大小写是敏感的,即A与a是不同的 一般 ...

  3. STL:大小写字母转换、字符转数字、char*转string(未完待续)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  4. C#中的数据格式转换 (未完待更新)

    一.string to int int intA = 0; 1.intA =int.Parse(str); 2.int.TryParse(str, out intA); 3.intA = Conver ...

  5. 深度学习(二十一)基于FCN的图像语义分割-CVPR 2015-未完待续

    CNN应用之基于FCN的图像语义分割 原文地址:http://blog.csdn.net/hjimce/article/details/50268555 作者:hjimce 一.相关理论     本篇 ...

  6. c++字符转换及介绍(未完)

    一.说在前面几个概念 LPSTR:即 char *,指向以'/0'结尾的8位(单字节)ANSI字符数组指针. LPWSTR:即wchar_t *,指向'/0'结尾的16位(双字节)Unicode字符数 ...

  7. Halcon 2D图像转3D效果查看

    Halcon读取图像之后,可以直接通过下面的按钮转换成3D效果图(当然并不是所有2D图转换后的效果都比较好看) Halcon的2D图转3D显示的过程应该是根据2D图像的灰度值来对应成3D信息的高度,灰 ...

  8. A311D用工业相机APP获取raw图像并做各种格式转换

    A311D用工业相机APP获取raw图像并做各种格式转换 目录 主要涉及的知识点有: 2 RAW 图格式转换(主要意义) 2 Android 通用串口通信,及usb转串口通信 2 1先创建androi ...

  9. Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)

    Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#) Baumer工业相机 Baumer工业相机使用Halcon图像算法的技术背景 Baume ...

最新文章

  1. 阿里BCG重磅报告《人工智能,未来致胜之道》
  2. Jeff Atwood倾情推荐——程序员必读之书
  3. NYOJ 30 Gone Fishing(贪心)
  4. html 设置 下拉列表 不可用
  5. windows xp 下的putty不能使用小键盘的问题
  6. 程序包java.awt不存在_IDEA解决Java:程序包xxxx不存在的问题
  7. 学习:java原理—反射机制
  8. CCF202012-1 期末预测之安全指数
  9. c++--类的作用域
  10. 普通web项目转maven项目
  11. html鼠标位置采集,css – HTML – 相对于鼠标指针的工具提示位置
  12. packetfence 7.2网络准入部署(二)
  13. 苹果ppt_苹果又开发布会了,这几个PPT设计技巧值得学习
  14. 显卡天梯图2022年4月 最新显卡性能排行天梯图
  15. 收图啦!CDEC 2019 北京站 高颜值亮相~~~
  16. 移动端以及 PC浏览器页面分享到朋友圈等的功能实现
  17. 指数函数和正弦函数相乘
  18. 基于arduino uno 开发板制作的 智能书包项目
  19. 【数据库原理及应用】——数据库系统产生和发展(学习笔记)
  20. 如何通过python爬股票接口获取证券交易日?

热门文章

  1. android 百度转码,关于百度移动端转码的问题与解决办法
  2. STM32F1案例 ST7735 TFT液晶显示屏综合库使用
  3. 使用 Metasploit 利用 OpenSSH 用户枚举漏洞 (CVE-2018-15473, CVE-2016-6210, CVE-1999-0502)
  4. RFC3261 SIP: Session Initiation Protocol 中文版 翻译中
  5. YOLO系列:YOLO v3解析
  6. Programming In Scala笔记-第十五章、Case Classes和模式匹配
  7. 从数学和编程的角度去看遥感影像和处理
  8. ofo 破解 android ios 版 (类似 wifi 万*能*钥*匙 )
  9. js模块化(ESModule与CommonJS)
  10. 16福师计算机应用基础在线作业,16秋福师《计算机应用基础》在线作业二答案...