一、提要

binocular_disparity 功能:通过互相关系来计算两个图形的双目视觉差,或为:binocular_disparity 使用相关技术计算两个校正图像之间的像素级对应关系。与binocular_distance 不同,结果不会转换为距离值。

二、算子解释

binocular_disparity(ImageRect1, ImageRect2 : Disparity, Score : Method, MaskWidth, MaskHeight, TextureThresh, MinDisparity, MaxDisparity, NumLevels, ScoreThresh, Filter, SubDisparity : )

输入数据:

输入图像:

  • ImageRect1   左图
  • ImageRect2   右图

输入控制量​:

  • Method,               有三个选项  'ncc', 'sad', 'ssd'
  • MaskWidth,          计算相关的窗口大小:5, 7, 9, 11, 21
  • MaskHeight,         计算相关的窗口大小:5, 7, 9, 11, 21
  • TextureThresh,     纹理图像区域的方差阈值。
  • MinDisparity,        预期差异的最小值。
  • MaxDisparity,       预期差异的最大值。
  • NumLevels,         金字塔级别的数量
  • ScoreThresh,       相关函数的阈值
  • Filter,                    下游过滤器   'left_right_check', 'none'
  • SubDisparity         视差的亚像素插值:​'interpolation', 'none'

三、必要条件

该算法需要一个参考图像 ImageRect1 和一个搜索图像 ImageRect2,它们必须被校正,即对应的核线是平行的并且位于相同的图像行上 ()。如果违反此假设,则可以使用运算符 calibrate_cameras、gen_binocular_rectification_map 和 map_image 校正图像。

因此,给定参考图像 ImageRect1 中的像素,通过沿 ImageRect2 中的相应行搜索并匹配大小为 MaskWidth 和 MaskHeight 的矩形窗口内的局部邻域来选择 ImageRect2 中的同源像素。像素对应关系在单通道视差图像中返回,该图像根据公式为参考图像 ImageRect1 的每个像素 (r1,c1) 指定 ImageRect2 的合适匹配像素 (r2,c2)。每个视差值的质量度量在 Score 中返回,包含参考像素的匹配函数 S 的最佳结果。对于匹配,使用原始未处理图像的灰度值。

四、代码示例

* Set internal and external stereo parameters.
* Note that, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, -665, 5.2e-006, 5.2e-006, \622, 517, 1280, 1024, CamParam1)
gen_cam_par_area_scan_division (0.01, -731, 5.2e-006, 5.2e-006, \654, 519, 1280, 1024, CamParam2)
create_pose (0.1535,-0.0037,0.0447,0.17,319.84,359.89, \'Rp+T', 'gba', 'point', RelPose)* Compute the mapping for rectified images.
gen_binocular_rectification_map (Map1, Map2, CamParam1, CamParam2, RelPose, \1, 'viewing_direction', 'bilinear', CamParamRect1,CamParamRect2, Cam1PoseRect1, \Cam2PoseRect2,RelPoseRect)* Compute the disparities in online images.
while (1)grab_image_async (Image1, AcqHandle1, -1)map_image (Image1, Map1, ImageRect1)grab_image_async (Image2, AcqHandle2, -1)map_image (Image2, Map2, ImageRect2)binocular_disparity(ImageRect1, ImageRect2, Disparity, Score, 'sad', \11, 11, 20, -40, 20, 2, 25, 'left_right_check','interpolation')
endwhile

五、附录:3d重构的算子

binocular_disparity_mg 
功能:通过多格子方法来计算两个图形的双目视觉差。 
binocular_disparity_ms 
功能:利用多扫描线优化方法计算校正后的立体图像对的视差。 
binocular_distance 
功能:通过互相关系来计算两个立体图形的双目视觉差。 
binocular_distance_mg 
功能:通过多格子方法来计算两个立体图形的双目视觉差。 
binocular_distance_ms 
功能:使用多扫描线优化计算校正立体图像对的距离值。 
disparity_image_to_xyz 
功能:吧一个观影距离转换为一个被矫正的3D立体点。 
disparity_to_distance 
功能:将影视距离转换矫正双目视觉立体系统中的间隔值。 
disparity_to_point_3d 
功能:将一个图像点和观影距离转换为一个矫正立体系统中的三维点。 
distance_to_disparity 
功能:将一个间隔值转换为一个矫正立体系统中的观影距离。 
essential_to_fundamental_matrix 
功能:计算一个从原始矩阵衍生而来的基本矩阵。 
gen_binocular_proj_rectification 
功能:计算弱双目视觉立体系统图像的投射矫正值。 
gen_binocular_rectification_map_ 
功能:创建传输图,其描述从一个双目相机到一个普通的矫正图像面的图像的映射。 
intersect_lines_of_sight 
功能:从一个双目相机系统视觉中两条线的交点中获取一个三维点。 
match_essential_matrix_ransack 
功能:通过自动发掘图像点间对应关系来计算立体图像对的原始(本质)矩阵。 
match_fundamental_matrix_distortion_ransac 
功能:通过自动寻找图像点之间的对应关系,计算一对立体图像的基本矩阵和径向畸变系数。 
match_fundamental_matrix_ransack 
功能:通过自动发掘图像点间对应关系来计算立体图像对的基本矩阵。 
match_rel_pose_ransack 
功能:通过自动发掘图像点间对应关系来计算两个相机间的相对方位。 
reconst3d_from_fundamental_matrix 
功能:计算基于基本矩阵的点的投影的三维重建。 
rel_pose_to_fundamental_matrix 
功能:计算两个相机相关方向中获取的基本矩阵。 
vector_to_essential_matrix 
功能:计算给定图像点间映射和已知相机矩阵的原始矩阵,重建三维点。 
vector_to_fundamental_matrix 
功能:计算给定图像点间映射的集合的基本矩阵,重建三维点。 
vector_to_fundamental_matrix_distortion 
功能:给出一组图像点对应关系,计算基本矩阵和径向畸变系数,重建三维点。 
vector_to_rel_pose 
功能:计算给定图像点对应关系和已知相机参数的两相机相对方位,重建三维点。

  • Depth From Focus焦点深度

depth_from_focus 
功能:利用多倍聚焦灰度级提取高度(厚度)。 
select_grayvalues_from_channels 
功能:利用索引图像选择一个多通道图像的灰度值。

  • Multi View Stereo多视角立体模型

clear_stereo_model 
功能:清除指定多视角立体模型,释放内存空间。 
create_stereo_model 
功能:创建一个多视角立体模型。 
get_stereo_model_image_pairs 
功能:返回在立体模型中设置的图像对列表。 
get_stereo_model_object 
功能:获取立体重建的中间结果(图标)。 
get_stereo_model_object_model_3d 
功能:获取立体重建的中间三维对象模型 
get_stereo_model_param 
功能:提取多视角立体模型参数。 
reconstruct_points_stereo 
功能:重建多视角立体3D参考点。 
reconstruct_surface_stereo 
功能:重建多视角3D曲面。 
set_stereo_model_image_pairs 
功能:指定双目(成对)图像的表面立体重建。 
set_stereo_model_param 
功能:设置多视角立体模型参数。

  • Photometric Stereo估测光源

estimate_al_am 
功能:估测一个平面的反射率和反射光的数目。 
estimate_sl_al_lr 
功能:估测一个光源的倾斜度和一个平面的反射率。 
estimate_sl_al_zc 
功能:估测一个光源的倾斜度和一个平面的反射率。 
estimate_tilt_lr 
功能:估测一个光源的倾斜。 
estimate_tilt_zc 
功能:估测一个光源的倾斜。 
photometric_stereo 
功能:根据光度立体技术重建曲面。 
reconstruct_height_field_from_gradient 
功能:从曲面渐变重建曲面。 
sfs_mod_lr 
功能:从一个灰度值图像重建一个平面。 
sfs_orig_lr 
功能:从一个灰度值图像重建一个平面。 
sfs_pentland 
功能:从一个灰度值图像重建一个平面。 
shade_height_field 
功能:重建一个表面灰色突起的图像。 
uncalibrated_photometric_stereo 
功能:从几个不同照明的图像重建一个表面。

  • Sheet of Light片光

apply_sheet_of_light_calibration 
功能:应用校准变换到不一致的图像。 
calibrate_sheet_of_light 
功能:使用3D校准对象校准sheet-of-light设置表。 
clear_sheet_of_light_model 
功能:清除指定片光模型,释放内存空间。 
create_sheet_of_light_calib_object 
功能:为光校准工作表创建校准对象。 
create_sheet_of_light_model 
功能:创建一个基于3D测量的片光模型。 
deserialize_sheet_of_light_model 
功能:反序列化sheet-of-light model。 
get_sheet_of_light_param 
功能:提取片光模型的参数。 
get_sheet_of_light_result 
功能:提取一个通过片光技术获得的测量结果(图标)。 
get_sheet_of_light_result_object_model_3d 
能:提取一个通过片光技术获得的3D对象模型测量结果。 
measure_profile_sheet_of_light 
功能:对输入和存储的轮廓图像进行片光技术处理。 
query_sheet_of_light_params 
功能:对于给定的sheet-of-light model,获取可用于不同灯光操作器的通用图标或控制参数的名称。 
read_sheet_of_light_model 
功能:从文件中读取sheet-of-light 模型,然后创建一个新模型。 
reset_sheet_of_light_model. 
功能:重置sheet-of-light 模型。 
serialize_sheet_of_light_model 
功能:序列化sheet-of-light模型。 
set_profile_sheet_of_light 
功能:通过测量的视差设置sheet-of-light轮廓。 
set_sheet_of_light_param 
功能:设置片光模型对应的参数。 
write_sheet_of_light_model 
功能:将sheet-of-light模型表写入文件。

Halcon知识:binocular_disparity(双目视差)相关推荐

  1. halcon知识:圆度和紧凑度

    一.说明 本文是halcon知识:select_shape究竟怎么用(1)的继续,关于select_shape的用途说的还不够,因为这些属性很多,有必要分开介绍. 二.圆度和紧凑度的直观演示 2.1 ...

  2. 计算双目视差的方法汇总及效果分析

    计算双目视差的方法汇总及效果分析 这是我在计算双目视差的过程中进行过尝试,想要记录下来.若是对大家有帮助就更好啦!如有错误或还可改进之处,欢迎指正!! matlab自带的disparity函数(BM方 ...

  3. halcon知识:图像纹理特征提取cooc_feature_matrix

    一.关于共生矩阵 如果不懂啥叫共生矩阵,将无法阅读该文.如果试图搞明白啥叫共生矩阵,请看我的另一篇博文,<hjalcon知识:共生矩阵> 本片介绍共生矩阵产生的其它属性:能量.相关性.同质 ...

  4. Halcon知识:如何用mfc显示halcon读入图象

    一.说明 直接用VC++/MFC图像,只能是BMP格式.然而,在OpenCV或Halcon显示各类图像(JPG.PNG等)却很容易.本篇叙述如何利用halcon组件读取图片,然后在MFC的窗口显示.当 ...

  5. 【算法思考】双目视差求像素深度公式理解

    目录 背景 可视化理解 推导 背景 双目相机可以通过左右目图像的匹配得到每个像素的视差,即左眼像素 u l , v u_l, v ul​,v 能找到右眼图像中的匹配像素 u r , v u_r, v ...

  6. matlab 双目 视差,双目-视差-点云

    本帖最后由 newly1429 于 2020-8-31 19:23 编辑 本人在做双目人脸三维重建,MATLAB版本R2016a,因为disparitySGM函数在2016里用不了,特地下了个R202 ...

  7. matlab 双目 视差,双目匹配与视差计算

    双目匹配与视差计算 立体匹配主要是通过找出每对图像间的对应关系,根据三角测量原理,得到视差图:在获得了视差信息后,根据投影模型很容易地可以得到原始图像的深度信息和三维信息.立体匹配技术被普遍认为是立体 ...

  8. halcon知识:【1】二维码原理

    1 QR码的历史 1994 年, DENSO WAVE子公司需要更好.更快.更强大的条码技术来处理更多字符并帮助他们跟踪车辆和零件. Masahiro Hara 和一个两人团队承担了开发我们现在知道和 ...

  9. halcon知识:hough变换检出图像的直线

    一.说明 用hough变换查找直线:hough的原理见文章:  图像处理:Hough变换原理分析 此文专门介绍halcon的具体算子实现. 二.示例代码 * Detect lines in an im ...

  10. halcon知识:差分模板variation_model

    一.差分模板 这个示例程序展示了如何使用 HALCON 的变分模型算子执行典型的打印质量检查.程序检测在笔夹上的不正确打印.该程序类似于程序 print_check.hdev.主要区别是每个字符都是单 ...

最新文章

  1. 教你如果设置自己喜欢的QQ背景音乐
  2. SpringBoot+Jquery实现前后端数据交互
  3. numpy 和tensorflow中argmax(),argmin()函数使用讲解
  4. 计算机及相关设备制造业2020,在现实生活中,接近完全垄断市场类型的行业包括()。A.计算机及相关设备制造业B.稀有...
  5. mysql 大小写问题
  6. swift 动画合集
  7. Python 制作动态图表,看全球疫情变化趋势
  8. c#正则表达式应用实例
  9. win环境sftp软件_在Windows上使用sftp工具—WinSCP
  10. 文件打不开只读或服务器未响应,Recovery Toolbox for PowerPoint(PPT修复工具)
  11. html如何格式化时间,js 日期时间的格式化
  12. Ubuntu 16.04.5 (x86_64)下安装CUDA10 for 深度学习
  13. qq 客服 php,QQ支持临时会话设置
  14. Binder机制之Service Manager(大内总管)
  15. embed的名词_embed是什么意思_embed的翻译_音标_读音_用法_例句_爱词霸在线词典
  16. catia v5r21保姆级下载安装教程
  17. 【数量称谓】祖宗十八代
  18. html5 video js控制摄像头的焦距,H5中使用video标签实现选择摄像头功能的示例
  19. 负边距在布局中的使用 BY:色拉油啊油
  20. 自动驾驶中雷达感知:时域关系的充分利用

热门文章

  1. 人人商城开启整点秒杀功能
  2. [ooc-lang]一门冷门的面向对象编程的语言使用小结
  3. 自动驾驶轨迹规划--算法综述
  4. 选取域名需要注意的几个方面
  5. ESXI 通过naa在主机上找到物理磁盘的位置
  6. 西门子杯-工业信息网络化
  7. win11系统下,迅雷启动后闪退的问题
  8. mount --bind作用与用法
  9. echarts图表销毁
  10. php设置pdf下载加密文件,怎么解除pdf加密 被加密的pdf文件