毕业设计-基于机器视觉的高精度视觉测量系统设计- OpenCV

前言


    📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯基于机器视觉的高精度视觉测量系统设计- OpenCV 

课题背景和意义

图像测量技术作为一种新兴的非接触测量技术, 突破了人为接触式测量的限制 实现了工业产品
质量的自动检测 解决了人工检测工作量繁重和成本高等问题, 具有广阔发展前景 。随着制造技术和测量技术要求的不断提高, 视觉测量技术的高精度化、 高速化及高效率化成为图像测量技术的重要发展方向。 测量条件不变的情况下, 提高图像质量能直接提高测量精度 而影响图像采集质量的 因 素 有 很 多, 如传感器的性能 ( 分辨率) 镜头的畸变程度和环境光源的选择等 通常情况下, 测量精度主要取决于相机分辨率 但高分辨率相机价格昂贵, 所以在硬件成本固定的情况下 ,从图像处理的角度进一步提高测量精度具有重要研究意义。在固定的硬件条件下,提高测量精度须考虑影 响测量精度的诸多因素, 如 标 定 精 度 镜 头畸变 检测精度 和外界环境光源 镜头畸变作为典型的系统误差, 是影响测量精度的主要因素之一, 有效完成相机镜头畸变校正并降低畸变对测量精度的影响是重要研究对象之一。 一般的轮廓检测精度为一个像素级, 但在低成本条件下 整像素级别的轮廓检测并不能满足实际测量需求, 所以 通过亚像素技术将检测精度提升至亚像素级别也是重要研究对象之一。

实现技术思路

一、成像模型

理想模型
如图 所示 在计算机视觉领域中 一般有四个基本坐标系: 世界坐标系 ( O w X w Y w Z w ) 相机坐标系( O c X c Y c Z c ) 成像平面坐标系 ( O 1 xy ) 和像素坐标系( O 0 uv )

空间点 Pw ( Xw,Yw,Zw ) 通过刚体变换转换为相机坐标系下的点 Pc ( Xc,Yc,Zc ) ,通过透视投影到成像平面坐标系下的点 P01 ( x,y) ,再根据原点平移、尺度伸缩将其转化为像素坐标系下的点 P00 ( u,v)

式中,fx = f /dx,fy = f /dy,f 为相机焦距,dx,dy 为像元尺寸; ( u0,v0 ) 为主点坐标; 3 × 3 的正交旋转矩阵; T 3 × 1 的平移矩阵; 0T = [0 0 0 ]; ( fx,fy, u0,v0 ) 为相机的内参数; ( ,T) 为相机的外参数

镜头畸变
产生镜头畸变的原因不只是透镜的固有失真 ,镜头的精度和质量也对镜头畸变有一定程度的影 响, 任意镜头都存在工艺误差以及组装误差 因为薄棱镜畸变区别于径向畸变和离心畸变, 对成像的影响极小 通常忽略不计 所以只考虑径向畸变和离心畸变。径向畸变主要是由透镜表面曲率引起的, 是一种沿透镜半径方向分布的畸变。 一般来说 越靠近边缘, 光线越容易弯曲 畸变也就越严重 其数学模型为:

 
离心畸变的误差来源于透镜的安装精度, 因为无法保证所有透镜光心都可以严格共线, 所以这种
误差在引入径向畸变同时还会引入切向畸变 其数学模型为:

 现行的畸变校正方法主要是将非线性畸变参数当作相机的参数之一,利用标定板对相机进行标定, 通过提取标定板上的相关特征点,计算与理想状态下图像坐标位置的偏差,从而求解畸变系数。畸变矫正模型为:

式中 ,( x ,y) 为理想的无畸变归一化成像平面坐标 ; ( x d ,yd ) 为畸变后的归一化成像平面坐标 ; ( k 1 ,k2 , k3 ) 为径向畸变系数 ; ( p 1 ,p2 ) 为切向畸变系数 ; r 为图像像素点到图像中心的距离, r 2 = x 2 + y 2

二、系统设计

采用 12 × 9 方格系列的棋盘作为标定板, 其外形尺寸为 100mm × 100mm 格子边长为 6mm 图 案 尺 寸 为 72mm × 54mm 精 度 为± 0. 005mm。 利用蓝色为背景色增大色差 减少噪声对图像处理的干扰, 从而提高检测精度 搭建的测量硬件系统如图 :

软件设计
本系统基于 OpenCV 开发完成 主要包括图像采集、 相机标定 畸变校正 轮廓提取和尺寸测量等内容, 该系统的软件流程如图 所示

相机初始化

该部分主要包括图像采集和相机标定等内容 。首先将摄像头按图 2 方式固定 调节焦距使成像达
到最佳效果 任意摆放标定板获取图像 。标定图像:

 该部分主要包括畸变矫正、轮廓提取和尺寸测量等内容。其过程为: 通过读取“result. yaml”中的 相机内参数与畸变系数,利用 OpenCV undistort ( ) 函数对当前摄像头进行校正

为了更好地检索轮廓,对图像边缘进行形态学运算,以此增强轮廓的连续性和消除不必要的小区域,采用了形态学的闭运算对Canny( ) 函数检测的边缘图像进行处理。

 得到被测物轮廓后,minAreaRect( ) 函数获得包覆轮廓的最小斜矩形,从而得到矩形的四个顶

通过计算该矩形中点的距离获得被测物体的像素尺寸。

将被测物放置在蓝色背景布上 “n” 键获取当前图像, 并对当前图像进行测量 测量前需利用标定板尺寸计算像素密度, 对标定板的最外围轮廓进行检索,计算像素距离。 对标定板( 100mm × 100mm ) 、1 元硬币 ( 25mm × 25mm) 1 角硬币 ( 19mm × 19mm ) 的最外围轮廓在任意位置分别测量 5 测量数据如表 

设测量的结果为 m真实值为 M绝对误差为abs_error相对误差为 r_error则绝对误差和相对误差的计算关系为:

实现效果图样例

基于机器视觉检测技术的高精度尺寸测量:

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于OpenCV高精度视觉测量系统设计涉及以下几个关键步骤: 1. 目标测量需求分析:首先要明确系统测量目标和精度要求,例如长度、面积、角度等。同时也要考虑系统的应用场景和实际需求。 2. 图像采集与预处理:利用OpenCV库中的相机模块,结合合适的相机设备进行图像采集。在采集的过程中,可以进行预处理操作,例如去噪、图像增强等,以提高图像质量和测量精度。 3. 特征提取与匹配:利用OpenCV的特征提取算法,如SIFT、SURF等,从图像中提取出关键特征点。然后利用匹配算法,如FLANN、RANSAC等,将特征点进行匹配,以获取目标物体在不同图像中的对应关系。 4. 目标测量与数据处理:根据特征点的匹配结果,建立坐标系,并进行目标测量。采用OpenCV的几何运算函数,如距离计算、角度计算等,对特征点进行测量,得到精确的测量数据。 5. 精度评估与优化:通过对测量结果的分析,评估系统测量精度,并根据需要进行优化。可能的优化方式包括改进图像采集设备、优化预处理算法、改进特征提取与匹配算法等。 6. 界面设计系统集成:设计系统的用户界面,方便用户进行数据输入和结果展示。并将测量系统与需要测量的设备或系统进行集成,以实现实际应用。 7. 测试与验证:对设计高精度视觉测量系统进行测试和验证,根据实际测量数据与理论数值的比对,以及与其他测量方法的对比,验证测量系统的精度和可靠性。 综上所述,基于OpenCV高精度视觉测量系统设计涉及多个环节的工作,包括目标需求分析、图像采集与预处理、特征提取与匹配、目标测量与数据处理、精度评估与优化、界面设计系统集成、测试与验证等,通过这些步骤的有机组合,可以设计出具有高精度测量能力的视觉测量系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值