概述
前言
????大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。
????对毕设有任何疑问都可以问学长哦!
选题指导: 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 ) 为主点坐标; R 为 3 × 3 的正交旋转矩阵; T 为 3 × 1 的平移矩阵; 0T = [0 0 0 ]; ( fx,fy, u0,v0 ) 为相机的内参数; ( R,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,则绝对误差和相对误差的计算关系为:
实现效果图样例
基于机器视觉检测技术的高精度尺寸测量:
我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。
毕设帮助,疑难解答,欢迎打扰!
最后
最后
以上就是花痴悟空为你收集整理的毕业设计-基于机器视觉的高精度视觉测量系统设计- OpenCV前言课题背景和意义实现技术思路实现效果图样例最后的全部内容,希望文章能够帮你解决毕业设计-基于机器视觉的高精度视觉测量系统设计- OpenCV前言课题背景和意义实现技术思路实现效果图样例最后所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复