# 基于聚焦法的工件立体测量方案
## 项目简介
使用聚焦法(Depth from Focus, DFF)对零件的尺寸进行立体测量,根据数据进行三维重建。使用HALCON处理图像,MATLAB拟合数据。
## 功能特性
借助工业显微镜,能够实现对微小零件(10mm以内)进行三维立体测量并重建三维模型,针对圆、直线等几何特征进行数据拟合和误差分析。该项目属于单目立体视觉范畴,具有较高的稳定性,且操作简单。
本项目还提供了大量适用于DFF的数据集,对于想要在DFF方面进行练习和测试的朋友可以任意取用。
## 环境依赖
HALCON12以上,Matlab2014以上
## 源码说明
HalconCode中有三份源代码,depth是建模处理的完整流程,修改图片读取的地址后启动代码,rot是图片旋转所用,Sobel是计算图像清晰度的评价函数。
Matlab有四份源代码 fit_line_knif拟合剪刀刀刃数据,helix拟合螺纹螺旋数据,Knife_back拟合刀背数据,halcon_depth是一个demo示例。
## 原理描述
目前比较火的三维测量方法是双目视觉和线结构光,但是如果针对微小零件,双目视觉的精度很差(双目视觉要精度高需要目距宽,这样视场就会变小),线结构光测小物体对激光器的聚焦有很高的要求,因此本项目采用聚焦法(DFF)进行测量。
![]( http://pub694cho.bkt.clouddn.com/20190729141939.png)
聚焦法原理很简单,当待测物体远离焦平面时,离焦程度较高,反映到图像上就是图像十分模糊。当载物台向上移动,待测物体接近焦平面,此时离焦程度降低,可以再图像中获取更多的细节。又因为待测物体表面高低起伏,当载物台移动到某一位置时,必然会出现有的地方清晰,有的地方模糊。通过比较这种清晰和模糊就能够确定其深度信息。
![]( http://pub694cho.bkt.clouddn.com/20190729142022.png)
整个项目的重点是聚焦评价函数,本项目采用Tennegrad函数,也就是sobel算子。工作台如下图所示
![]( http://pub694cho.bkt.clouddn.com/20190729142400.png)
## 算法设计
其实算法比较简单,但可靠性好
![]( http://pub694cho.bkt.clouddn.com/20190729142507.png)
首先利用Halcon自带的算子批量读取图片,之后进行预处理。预处理首先是将图片灰度化,之后利用滤波算子去除高频噪点。预处理完成以后,用Sobel算子进行梯度计算,经过计算以后会生成梯度图,各个点的梯度大小就表示聚焦评价函数评价的初步结果。
为了方便后续的处理,还需要对计算的梯度做进一步处理,首先需要利用阈值化的方法除去那些数值较小的点,之后对其余的点的灰度大小乘以一个倍数,将他们拉伸。这样做有两个目的,其一是为了视觉上观察更加明显,方便处理结果的人工评估,其二是后续拟合时比较稳定,如果数值太小,拟合函数可能会出现错误。
处理后的结果如图所示:
![]( http://pub694cho.bkt.clouddn.com/20190729142622.png)
三维重建可以分为图所示的四个步骤:
![]( http://pub694cho.bkt.clouddn.com/20190729142834.png)
在Halcon中读取所拍摄的一系列图片,将每一张单独的图片视为一个通道,将所拍摄的N图片合成为一张N通道图片,方便后续处理。随后利用Halcon自带的DFF算子进行焦深计算,获取焦深图。
![1564381923906](C:\Users\JR\AppData\Roaming\Typora\typora-user-images\1564381923906.png)
最后一步需要进行同道合成,将得到的焦深图和原图进行合并,这样显示出来的三维重建图既有高低起伏的深度信息,同时也有表面的纹理信息。
![]( http://pub694cho.bkt.clouddn.com/20190729143216.png)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 基于聚焦法的工件立体测量方案 项目简介 使用聚焦法(Depth from Focus, DFF)对零件的尺寸进行立体测量,根据数据进行三维重建。使用HALCON处理图像,MATLAB拟合数据。 功能特性 借助工业显微镜,能够实现对微小零件(10mm以内)进行三维立体测量并重建三维模型,针对圆、直线等几何特征进行数据拟合和误差分析。该项目属于单目立体 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
DFFmeasurement-master.zip (24个子文件)
DFFmeasurement-master
效果图预览
sobel.jpg 348KB
Image2.jpg 31KB
DepthMean.jpg 117KB
ImageReduced.jpg 62KB
SharpImage.jpg 245KB
DepthMean_reduce.jpg 64KB
Solidworks建模结果.JPG 411KB
数据集-处理前2.rar 95.11MB
数据集-预处理后2.rar 66.87MB
数据集-预处理后1.rar 28.58MB
数据集-处理前1.rar 46.84MB
MatlabCode
halcon_depth.m 1KB
fit_line_knif.m 601B
knife_back.m 2KB
helix.m 713B
数据集-预处理后3.rar 67.77MB
HalconCode
sobel.jpg 348KB
depth.hdev 5KB
sobel.hdev 2KB
rot.hdev 2KB
DepthMean.jpg 117KB
SharpImage.jpg 245KB
DepthMean_reduce.jpg 64KB
README.md 4KB
共 24 条
- 1
资源评论
奋斗奋斗再奋斗的ajie
- 粉丝: 1200
- 资源: 2908
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YoloV1的tensorflow实现.zip
- YOLOv1检测过程的Tensorflow实现.zip
- Yolov1 pytorch 实现.zip
- yoloface-50k的可部署模型.zip
- qt 5.7.1 msvc2015安装包
- YOLOC 是将不同的模块组合起来构建不同的物体检测模型,包括 YOLOv3、YOLOv4、Scaled-YOLOv4、YOLOv5、YOLOv6、YOLOv7、YOLOX、YOLOR、PPY.zip
- yolo3-keras的源码.zip
- zulu8.82.0.21-ca-jdk8.0.432-macosx-aarch64.dmg
- YOLO-World + EfficientViT SAM.zip
- Yolo-v4-v3-v2中模型转换方法总结.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功