Halcon知识:binocular_disparity(双目视差)
一、提要
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(双目视差)相关推荐
- halcon知识:圆度和紧凑度
一.说明 本文是halcon知识:select_shape究竟怎么用(1)的继续,关于select_shape的用途说的还不够,因为这些属性很多,有必要分开介绍. 二.圆度和紧凑度的直观演示 2.1 ...
- 计算双目视差的方法汇总及效果分析
计算双目视差的方法汇总及效果分析 这是我在计算双目视差的过程中进行过尝试,想要记录下来.若是对大家有帮助就更好啦!如有错误或还可改进之处,欢迎指正!! matlab自带的disparity函数(BM方 ...
- halcon知识:图像纹理特征提取cooc_feature_matrix
一.关于共生矩阵 如果不懂啥叫共生矩阵,将无法阅读该文.如果试图搞明白啥叫共生矩阵,请看我的另一篇博文,<hjalcon知识:共生矩阵> 本片介绍共生矩阵产生的其它属性:能量.相关性.同质 ...
- Halcon知识:如何用mfc显示halcon读入图象
一.说明 直接用VC++/MFC图像,只能是BMP格式.然而,在OpenCV或Halcon显示各类图像(JPG.PNG等)却很容易.本篇叙述如何利用halcon组件读取图片,然后在MFC的窗口显示.当 ...
- 【算法思考】双目视差求像素深度公式理解
目录 背景 可视化理解 推导 背景 双目相机可以通过左右目图像的匹配得到每个像素的视差,即左眼像素 u l , v u_l, v ul,v 能找到右眼图像中的匹配像素 u r , v u_r, v ...
- matlab 双目 视差,双目-视差-点云
本帖最后由 newly1429 于 2020-8-31 19:23 编辑 本人在做双目人脸三维重建,MATLAB版本R2016a,因为disparitySGM函数在2016里用不了,特地下了个R202 ...
- matlab 双目 视差,双目匹配与视差计算
双目匹配与视差计算 立体匹配主要是通过找出每对图像间的对应关系,根据三角测量原理,得到视差图:在获得了视差信息后,根据投影模型很容易地可以得到原始图像的深度信息和三维信息.立体匹配技术被普遍认为是立体 ...
- halcon知识:【1】二维码原理
1 QR码的历史 1994 年, DENSO WAVE子公司需要更好.更快.更强大的条码技术来处理更多字符并帮助他们跟踪车辆和零件. Masahiro Hara 和一个两人团队承担了开发我们现在知道和 ...
- halcon知识:hough变换检出图像的直线
一.说明 用hough变换查找直线:hough的原理见文章: 图像处理:Hough变换原理分析 此文专门介绍halcon的具体算子实现. 二.示例代码 * Detect lines in an im ...
- halcon知识:差分模板variation_model
一.差分模板 这个示例程序展示了如何使用 HALCON 的变分模型算子执行典型的打印质量检查.程序检测在笔夹上的不正确打印.该程序类似于程序 print_check.hdev.主要区别是每个字符都是单 ...
最新文章
- 教你如果设置自己喜欢的QQ背景音乐
- SpringBoot+Jquery实现前后端数据交互
- numpy 和tensorflow中argmax(),argmin()函数使用讲解
- 计算机及相关设备制造业2020,在现实生活中,接近完全垄断市场类型的行业包括()。A.计算机及相关设备制造业B.稀有...
- mysql 大小写问题
- swift 动画合集
- Python 制作动态图表,看全球疫情变化趋势
- c#正则表达式应用实例
- win环境sftp软件_在Windows上使用sftp工具—WinSCP
- 文件打不开只读或服务器未响应,Recovery Toolbox for PowerPoint(PPT修复工具)
- html如何格式化时间,js 日期时间的格式化
- Ubuntu 16.04.5 (x86_64)下安装CUDA10 for 深度学习
- qq 客服 php,QQ支持临时会话设置
- Binder机制之Service Manager(大内总管)
- embed的名词_embed是什么意思_embed的翻译_音标_读音_用法_例句_爱词霸在线词典
- catia v5r21保姆级下载安装教程
- 【数量称谓】祖宗十八代
- html5 video js控制摄像头的焦距,H5中使用video标签实现选择摄像头功能的示例
- 负边距在布局中的使用 BY:色拉油啊油
- 自动驾驶中雷达感知:时域关系的充分利用