[毕业设计]opencv机器学习双目测距精度测量系统
创始人
2024-02-16 08:38:33
0

前言


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

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

本次分享的课题是

🎯opencv机器学习精度测量系统

课题背景和意义

图像测量技术作为一种新兴的非接触测量技术,突破了人为接触式测量的限制,实现了工业产品质量的自动检测,解决了人工检测工作量繁重和成本高等问题,具有广阔发展前景。

随着制造技术和测量技术要求的不断提高,视觉测量技术的高精度化、高速化及高效率化成为图像测量技术的重要发展方向。测量条件不变的情况下,提高图像质量能直接提高测量精度,而影响图像采集质量的因素有很多,如传感器的性能(分辨率)、镜头的畸变程度和环境光源的选择等。通常情况下,测量精度主要取决于相机分辨率,但高分辨率相机价格昂贵,所以在硬件成本固定的情况下,从图像处理的角度进一步提高测量精度具有重要研究意义。

实现技术思路

用相似三角形计算物体或者目标到相机的距离

相似三角形就是这么一回事:假设我们有一个宽度为 W 的目标或者物体。然后我们将这个目标放在距离我们的相机为 D 的位置。我们用相机对物体进行拍照并且测量物体的像素宽度 P 。这样我们就得出了相机焦距的公式:

F = (P x D) / W

举个例子,假设我在离相机距离 D = 24 英寸的地方放一张标准的 8.5 x 11 英寸的 A4 纸(横着放;W = 11)并且拍下一张照片。我测量出照片中 A4 纸的像素宽度为 P = 249 像素。

因此我的焦距 F 是:

F = (248px x 24in) / 11in = 543.45

当我继续将我的相机移动靠近或者离远物体或者目标时,我可以用相似三角形来计算出物体离相机的距离:

D’ = (W x F) / P

为了更具体,我们再举个例子,假设我将相机移到距离目标 3 英尺(或者说 36 英寸)的地方并且拍下上述的 A4 纸。通过自动的图形处理我可以获得图片中 A4 纸的像素距离为 170 像素。将这个代入公式得:

D’ = (11in x 543.45) / 170 = 35 英寸

或者约 36 英寸,合 3 英尺。

测量相机到目标的距离

# import the necessary packagesimport numpy as npimport cv2def find_marker(image):# convert the image to grayscale, blur it, and detect edgesgray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = cv2.GaussianBlur(gray, (5, 5), 0)edged = cv2.Canny(gray, 35, 125)# find the contours in the edged image and keep the largest one;# we’ll assume that this is our piece of paper in the image(cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_LIST,        cv2.CHAIN_APPROX_SIMPLE)c = max(cnts, key = cv2.contourArea)# compute the bounding box of the of the paper region and return itreturn cv2.minAreaRect(c)

第一件要做的事情就是导入必要的包。我们将用 NumPy 来进行数值计算和 cv2 来绑定 OpenCV 。

在那之后我们定义 find_marker 函数。这个函数接收一个 image 参数,并且这意味着我们将用它来找出将要计算距离的物体。

简单的边缘检测和计算最大的轮廓是可行的。我们可以通过使用轮廓近似法使系统更具鲁棒性,排除不包含有4个顶点的轮廓,然后计算面积最大的四点轮廓。

#import the necessary packagesimport numpy as npimport cv2def find_marker(image):# convert the image to grayscale, blur it, and detect edgesgray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = cv2.GaussianBlur(gray, (5, 5), 0)edged = cv2.Canny(gray, 35, 125)# find the contours in the edged image and keep the largest one;# we’ll assume that this is our piece of paper in the image(cnts, _) = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)c = max(cnts, key = cv2.contourArea)# compute the bounding box of the of the paper region and return itreturn cv2.minAreaRect(c)def distance_to_camera(knownWidth, focalLength, perWidth):# compute and return the distance from the maker to the camerareturn (knownWidth * focalLength) / perWidth # initialize the known distance from the camera to the object, which# in this case is 24 inchesKNOWN_DISTANCE = 24.0# initialize the known object width, which in this case, the piece of# paper is 11 inches wideKNOWN_WIDTH = 11.0# initialize the list of images that we’ll be usingIMAGE_PATHS = [“images/2ft.png”, “images/3ft.png”, “images/4ft.png”]# load the furst image that contains an object that is KNOWN TO BE 2 feet# from our camera, then find the paper marker in the image, and initialize# the focal lengthimage = cv2.imread(IMAGE_PATHS[0])marker = find_marker(image)focalLength = (marker[1][0] * KNOWN_DISTANCE) / KNOWN_WIDTH

实现效果图样例

三角形相似法,并且需要知道两个重要的参数:

1、 目标的实际宽度(或高度),单位可以是英寸或者米。

2、 标定过程 1 中相机到目标的距离。

计算机视觉和图像处理算法可以被用来自动检测图像中物体的像素宽度或高度并且完成相似三角形的计算,得出一个焦距。

然后在接下来的图片中,我们只要提取出目标轮廓就可以利用得到的焦距测量出目标到相机的距离。

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

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

相关内容

热门资讯

指导教师评语短 指导教师评语短  引导学生培养坚强毅力的评语,下面小编整理的指导教师评语短,欢迎来参考!  1、该生...
金公子珠宝的广告词 金公子珠宝的广告词  1、珠宝亦有价,真情乃无价。  创意说明:金银珠宝首饰一般价格比较高昂,愿意买...
师傅对徒弟的评价评语 师傅对徒弟的评价评语  篇一:师傅对徒弟综合评价  20XX年8月,学校来了一批新教师。9月10日,...
文明行为规范标语 文明行为规范标语(精选115句)  无论是身处学校还是步入社会,大家对标语都再熟悉不过了吧,标语不但...
进入高三励志标语 进入高三励志标语(精选180句)  在日常的学习、工作、生活中,大家最不陌生的就是标语了吧,标语在一...
大学毕业班级鉴定评语 大学毕业班级鉴定评语(精选120条)  无论是身处学校还是步入社会,大家都有写评语的经历,对评语很是...
中考横幅标语大全   1.春播秋收近十载,一朝收获终有成。  2.不论你在什么时候开始,重要的是开始之后不要停止。  ...
学校六一活动标语 学校六一活动标语(精选50句)  在现实生活或工作学习中,大家对标语都再熟悉不过了吧,标语以其时间性...
家装实木高档油漆门广告语 家装实木高档油漆门广告语  1、一“门”心思只为您。  2、打开木门,开启幸福。  3、独门工艺,专...
厕所文明标语 厕所文明标语(通用185句)  在现实生活或工作学习中,大家都对那些朗朗上口的标语很是熟悉吧,标语是...
宣传稿格式 宣传稿格式  一、宣传稿的介绍  首先,新闻宣传稿要重视宣传的本身意义和作用。  其次,要懂得如何在...
校园文明标语 校园文明标语  在学习、工作、生活中,大家都接触过比较经典的标语吧,标语的作用是便于“造势”,形成一...
打折促销标语 打折促销标语大全  XX真情回馈理惠X折  终极X小时终极抄底价  心动,不如行动!  不做不休用暴...
最新学习小组口号 最新学习小组口号  在日常的学习、工作、生活中,大家都经常接触到口号吧,口号作为意识的表现形式之一,...
垃圾分类标语 垃圾分类标语(精选140句)  在平时的学习、工作或生活中,大家最不陌生的就是宣传语了吧,宣传语具有...
安全生产横幅标语口号 安全生产横幅标语口号大全  ●安全人人抓,幸福千万家  ●安全生产 人人有责  ●安全生产 重在预防...
迎新的标语 迎新的标语(精选150句)  在日常学习、工作和生活中,大家都接触过比较经典的标语吧,标语不但折射着...
2022年村委会普法宣传简报 2022年村委会普法宣传简报  一、村委会相关介绍  村委会的全称为村民委员会,为中国大陆地区乡(镇...
广告公司广告语 广告公司广告语大全  广告公司广告语大全广告语指通过各种传播媒体和招贴形式向公众介绍商品、文化、娱乐...
经典安全标语 经典安全标语大全  导语:安全是宝藏,安全是生命,安全是金钱。下面是由小编为你整理的经典安全标语大全...