图像畸变矫正与透视变换
创作时间:
作者:
@小白创作中心
图像畸变矫正与透视变换
引用
CSDN
1.
https://blog.csdn.net/baidu_24565387/article/details/140207036
图像畸变矫正与透视变换是计算机视觉领域中的两个重要技术,广泛应用于工业检测、机器人导航、安防监控等领域。本文将详细介绍如何使用Halcon软件实现图像畸变矫正和透视变换,包括圆形棋盘格标定板的生成、相机参数标定、畸变矫正以及透视变换的具体实现方法。
Halcon自动生成的圆形棋盘格
在进行图像处理之前,首先需要生成一个圆形棋盘格标定板。Halcon提供了生成圆形棋盘格标定板的函数,可以通过指定行数、列数、直径等参数来自动生成标定板。
示例程序:
*生成圆形棋盘格 行 列 直径 直径/距离比值
gen_caltab (12, 9, 0.002, 0.5, 'caltab_12X9.descr', 'caltab.ps')
*生成相机参数 焦距 畸变系数 X解析度 Y解析度 图像中心 图像宽高
gen_cam_par_area_scan_division (0.035, 0, 0.0000137,0.0000137,Width/2, Height/2, Width, Height, CameraParam1)
set_calib_data_cam_param (CalibDataID, 0, [], CameraParam1)
set_calib_data_calib_object (CalibDataID, 0, 'caltab_12X9.descr')
find_calib_object (ImageResult1, CalibDataID, 0, 0, 0,'alpha',0.2)
get_calib_data_observ_contours (Ellipses, CalibDataID, 'marks', 0, 0,0)
calibrate_cameras (CalibDataID, Error)
get_calib_data (CalibDataID, 'camera', 0, 'params', DataValue)
*畸变矫正
change_radial_distortion_cam_par ('adaptive', DataValue, 0, CamParamOut)
change_radial_distortion_image (Image, Image, ImageRectified, DataValue, CamParamOut)
标定结果:
Halcon透视变换
原始图像
在进行透视变换之前,需要先寻找图像中的4个标定块顶点坐标。假设标定块的尺寸为50mm x 50mm。
代码实现
透视变换的核心是计算投影变换矩阵,然后应用该矩阵对图像进行变换。以下是具体的实现代码:
hom_vector_to_proj_hom_mat2d ([Row1,Row2,Row3,Row4], [Column1,Column2,Column3,Column4], [1,1,1,1],\
[Row1,Row1,Row1+H,Row1+H], [Column1,Column1+W,Column1,Column1+W], [1,1,1,1], 'normalized_dlt', HomMat2D)
projective_trans_image (Image, TransImage, HomMat2D, 'bilinear', 'false', 'false')
矫正后图像
经过透视变换后,图像的像素精度如下:
- PixelX = 0.0293 mm/pixel
- PixelY = 0.0311 mm/pixel
矫正前后的尺寸对比:
- 矫正前:dx = 51.101mm,dy = 54.700mm
- 矫正后:dx = 49.989mm,dy = 49.971mm
偏差值:
- offsetX = 50 - 49.989 = 0.0104mm
- offsetY = 50 - 49.989 = 0.0281mm
矫正后,误差在1个像素内,说明透视变换的效果良好。
热门推荐
瑞士卷制作指南:从历史渊源到实用技巧
揭开虚拟与现实的帷幕:二进制世界与道
智能客服与AI数据分析:如何利用客户数据驱动业务增长
我国学者研究发现:苦咖啡可降低肝病风险,而甜咖啡伤害肝脏
“离离原上草”中离离二字,到底啥意思?被孩子问到可别不知道
社保缴费基数申报流程指南
尼泊尔旅游指南:蓝毗尼,佛祖释迦牟尼的诞生地
简历投递采用什么格式比较好?WORD、PDF还是HTML?
在直播和录播中,码流带宽究竟需要多少才能保证流畅观看?
上半年结婚登记数创新低,中国人真的不结婚了?
接触器在电机控制中的选型要点与应用实例
大麦浸种子泡水多久出芽?一文详解大麦种植与牧草品种推荐
国产摩托车品牌出海高增速下的困境与思考
《猫》教学设计及反思
互联网医疗大变局!蚂蚁集团收购好大夫在线!
13个先进制造业集群:推动我国制造业高端化的新动力
喝咖啡可预防糖尿病?关键在于是否添加这个
主机已经正常开机,显示器无信号,是什么原因
新车皮革味怎么去除
电子产品选购指南:手机、电脑、相机,如何挑选最适合你的那一款
维生素K:平衡骨钙与血钙!最全功效、摄取量与推荐食物完整解析
上三角与下三角行列式区别
新课改理念下小学数学生活化教学的几点做法
每10人就有7人有腸息肉!小心腺瘤型息肉有癌變風險,4招腸保健康
设计中色彩的运用技巧!设计师必备
警惕"中式克苏鲁"的创作陷阱
如何提升国际公众对中国文化的认知与理解
如何利用后台系统加强市场监管?这种监管方式的优势是什么?
徐福东渡之谜:他是日本人的祖先吗?
Excel图表系列组合图:直观分析多维度数据