- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Halcon 、opencv 与 C++ 的图像数据转换【 halcon 学习网】
halcon、 opencv 和 C++ 图像内存数据处理机制有差异,
在进行相互转换的时候需要注意内存数据排列问题,否则可
能出现花图或者多出黑边等现象。
Halcon 自身处理不需要考虑字节对齐,但 opencv 和 C++ 需
要考虑,相互转换的时候均需要考虑字节对齐问题。
Halcon
的图像内存机制是紧密排列,而
opencv
和
C++ 图像
内存数据是四字节对齐排列。只有当图像宽度为
4 的整数倍
时, halcon、 opencv 和 C++ 的图像内存是一致的,可相互直
接转换,否则必须调整内存排列后转换。 下列是不确定是
否图像宽度是四的整数倍的时候,三种图像数据的相互转换
代码例程。
1)假设图像大小为 nWid*nHei ;图像数据 PBYTE m_ptr;
m_ptr = new
BYTE[WIDTHBYTES(nWid*8)*nHei];
opencv:cvImg IPlImage *cvImg;
cvImg = cvCreateImage(CvSize(nWid,nHei), IPL_DEPTH_8U, 1);
for(int j=0; j<nWid;
j++)
for(int
i=0; i<nHei; i++)
{
cvImg->imageData[ntmp]
m_ptr[ntmp];
}
(其中: nModeWid =
WIDTHBYTES(nWid*8); ntmp = i*nModeWid+j)
Halcon: hImg
PBYTE pbDstImg; Hobject
hImg;
pbDstImg = new BYTE[nWid*nHei];
for(int j=0; j<nWid;
j++)
for(int
i=0; i<nHei; i++)
{
pbDstImg
[ntmp1] = m_ptr[ntmp];
}
Hlong hWid,hHei;
hWid = nWid; hHei = nHei;
gen_image1_extern(&hImg,
“byte ”, hWid, hHei, (Hlong)pbDstImg, NULL);
(其中: ntmp = i*nModeWid+j , ntmp1 = i*nWid+j)
2)假设 Halcon 图像大小为 modelWid*modelHei ,图像 hImg; unsigned char *ptr;
get_image_pointer1(hImg,
(Hlong*)&ptr, type, &modelWid, &modelHei);
C++ : m_pImgMode;
PBYTE m_pImgMode;
m_pImgMode = new
BYTE[WIDTHBYTES(modelWid *8)* modelHei]
for(int i=0; i<modelHei; i++)
memcpy(pImgMode+i*WIDTHBYTES(modelWid
*8), ptr+i*modelWid, modelWid);
OpenCV: cvImage;
IPlImage *cvImage =
(CvSize(modelWid, modelHei), IPL_DEPTH_8U, 1);
for(int i=0; i<modelHei; i++)
memcpy(cvImage->imageData+i*WIDTHBYTES(modelWi
d*8),ptr+i*modelWid,
modelWid);
1亿VIP精品文档
相关文档
最近下载
- {品质管理八D方法}8D质量改进基本知识讲义1.pdf VIP
- GZ070 船舶航行安全管理技术赛项赛题-2023年全国职业院校技能大赛赛项赛题.pdf VIP
- 信息科技安全培训.pptx VIP
- 医院污水处理工程技术规范(2022年版).docx VIP
- 2023年河北省衡水中学自主招生数学模拟试卷及答案解析.pdf
- 三年级下册语文第二单元基础训练题 部编版(无答案).docx
- 2023年软考-中级软考-网络工程师考试历年全考点试题荟萃附带答案.docx VIP
- 山东师范大学《形势与政策》期末复习题.docx
- 广州数控GSK980MDi系列操作使用手册.pdf
- 招标代理投标文件.doc VIP
文档评论(0)