在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Halcon双相机拼接

Halcon双相机拼接

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.01M
  • 下载次数:95
  • 浏览次数:451
  • 发布时间:2021-03-27
  • 实例类别:一般编程问题
  • 发 布 人:yy11101244
  • 文件格式:.hdev
  • 所需积分:1
 相关标签: Halcon co 拼接 相机

实例介绍

【实例简介】双相机位置统一,实现拼接

【实例截图】two_camera_calibrated_mosaicking.hdev


from clipboard

【核心代码】

get_image_size (ImageCam1, WidthCam1, HeightCam1)

*设置目标图像的宽度、高度和比例,使整个对象
*映射后的图像非常适合。
* TargetWidth := 1340
* TargetHeight := 800
* Scale := 0.0002
*图像的宽高2592,2048
TargetWidth := WidthCam1
TargetHeight := HeightCam1
Scale := 0.0001
*映射的图像有一些黑色的边框,这些边框被切断以供显示。
Borders := [125,110,1665,2222]

*获取世界坐标中的姿势。
*如上所述,世界姿势的z分量需要由
*物体的厚度。还要更正x和y值以移动图形的原点
*图像右下角的校准板。
*(通常,原点应该是在(0,0)处。但是由于x轴和y轴指向相反的方向,我们也相应地移动原点。)
set_origin_pose (Pose1, -0.14, -0.07, HeightCorrections, WorldPose1)
set_origin_pose (Pose2, -0.14, -0.07, HeightCorrections, WorldPose2)


*生成映射以将图像映射到世界平面。
*  @brief 将像素坐标转换到世界坐标系中(z=0)
*  @param Map[OUT] 输出的映射图
*  @param CameraParam [IN] 相机内参
*  @param WorldPose[IN] 世界坐标系在摄像机坐标系中的3D位姿
*  @param WidthIn[IN] 要转换的图像的宽
*  @param HeightIn[IN] 要转换的图像的高
*  @param WidthMapped  [IN] 映射图的宽
*  @param HeightMapped [IN] 映射图的高
*  @param Scale[IN] 坐标系的单位尺寸
*  @param MapType[IN] 映射的算法类型
gen_image_to_world_plane_map (Map1, CamParam1, WorldPose1, WidthCam1, HeightCam1, TargetWidth, TargetHeight, Scale, 'bilinear')
gen_image_to_world_plane_map (Map2, CamParam2, WorldPose2, WidthCam1, HeightCam1, TargetWidth, TargetHeight, Scale, 'bilinear')



*显示输入图像和摄影机姿势。
dev_display (ImageCam1)
dev_disp_text ('Camera 1 image', 'window', 'top', 'left', 'black', [], [])

dev_display (ImageCam2)
dev_disp_text ('Camera 2 image', 'window', 'top', 'left', 'black', [], [])

*通过将图像映射到世界坐标来校正图像。
dev_clear_window ()
map_image (ImageCam1, Map1, ImageWorld1)
map_image (ImageCam2, Map2, ImageWorld2)

*将贴图图像缝合在一起。
get_domain (ImageWorld1, Domain1)
get_domain (ImageWorld2, Domain2)
intersection (Domain1, Domain2, RegionIntersection)
paint_region (RegionIntersection, ImageWorld1, ImageWorld1Blackended, 0, 'fill')
full_domain (ImageWorld1Blackended, ImagePart1)
full_domain (ImageWorld2, ImagePart2)
add_image (ImagePart1, ImagePart2, ImageFull, 1, 0)

*旋转图像并移除显示的黑色边框。
rotate_image (ImageFull, ImageRotated, 0, 'constant')
gen_rectangle1 (RectangleDomain, Borders[0], Borders[1], Borders[2], Borders[3])
reduce_domain (ImageRotated, RectangleDomain, ImageReduced)
crop_domain (ImageReduced, ImageReduced)
mirror_image (ImageReduced, ImageReduced, 'row')
mirror_image (ImageReduced, ImageResult, 'column')

*显示结果图像。
dev_display (ImageResult)
dev_disp_text ('Result image', 'window', 'top', 'left', 'black', [], [])
dev_disp_text ('End of program', 'window', 'bottom', 'right', 'black', [], [])
return ()

标签: Halcon co 拼接 相机

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警