你访问的网站正在建设西部数码网站管理系统
news/
2025/10/1 20:44:45/
文章来源:
你访问的网站正在建设,西部数码网站管理系统,湛江做网站厂家报价,网站建设标志头像图片1.简介
1.1 2D测量技术
基于单目相机的2D测量技术在许多领域中具有重要的背景和意义。
工业制造#xff1a;在工业制造过程中#xff0c;精确测量是确保产品质量和一致性的关键。基于单目相机的2D测量技术可以用于检测和测量零件尺寸、位置、形状等参数#xff0c;进而实…1.简介
1.1 2D测量技术
基于单目相机的2D测量技术在许多领域中具有重要的背景和意义。
工业制造在工业制造过程中精确测量是确保产品质量和一致性的关键。基于单目相机的2D测量技术可以用于检测和测量零件尺寸、位置、形状等参数进而实现自动化生产和质量控制。通过实时监测并反馈测量结果可以快速发现和纠正生产中的偏差提高产品的一致性和合格率。
计算机视觉单目相机作为计算机视觉的传感器之一能够捕捉并记录场景中的图像信息。基于单目相机的2D测量技术可以通过对图像进行处理和分析来提取目标物体的特征和参数。这种技术在目标检测、物体跟踪、姿态估计等计算机视觉任务中起着至关重要的作用。
地理测绘和导航基于单目相机的2D测量技术可以应用于地理测绘和导航领域。通过获取地面或航空图像并利用图像处理和计算机视觉算法可以实现地表特征的提取、地形建模、数字地图的生成等工作。这对于城市规划、农业管理、导航系统等方面具有重要的应用价值。
医学影像在医学领域基于单目相机的2D测量技术可以用于医学影像的分析和测量。通过对医学图像进行处理和分析可以提取器官、病灶的形状、大小、位置等信息辅助医生进行诊断和治疗决策。这种技术在影像学、放射学、眼科等医学专业中得到广泛应用。
综上所述基于单目相机的2D测量技术在工业制造、计算机视觉、地理测绘和导航、医学影像等领域都有着重要的背景和意义。它可以提高生产效率、产品质量推动科学研究和医学进步为各个领域带来更多的机遇和挑战。
1.2 yolo算法
YOLOYou Only Look Once是一种实时目标检测算法它的主要思想是将目标检测问题转化为一个回归问题。相较于传统的目标检测算法YOLO具有更快的处理速度和较高的准确性。
YOLO算法的基本原理如下
将输入图像划分为一个固定大小的网格。每个网格负责预测该网格中是否包含目标以及目标的边界框。
每个网格预测多个边界框一般为5个以适应不同形状的目标。
每个边界框预测目标类别的概率。
对每个边界框的位置和类别进行综合预测。
使用非极大值抑制NMS处理重叠的边界框以获取最终的目标检测结果。
YOLO算法相较于其他目标检测算法的优势在于其端到端的设计能够实现实时目标检测并且减少了检测过程中的多次重复计算。然而由于YOLO将图像划分为网格对于小尺寸目标和密集目标的检测效果可能会稍差。
此外YOLO还有不同版本的改进如YOLOv2、YOLOv3和YOLOv4等这些改进版本在准确性和速度方面有所提升同时也引入了一些新的技术和网络结构如多尺度预测、锚框、Darknet-19等。 2.功能实现
今天在上一章的项目测量上加入了新的功能。具体直接看视频
甲方给的场地视频因为没有参照物所以无法测量尺寸。
基于YOLO算法的单目相机2D测量工件尺寸和物体尺寸二_哔哩哔哩_bilibili 代码暂不开源贴上来大家讨论讨论。顺便记录一下项目。
主函数
import utlis
from ours import *import cv2
import timeonnx_path yolov5s.onnx
model Yolov5ONNX(onnx_path)cap cv2.VideoCapture(./3.mp4)
pTime 0
while True:success, img cap.read()# top_coords (0, int(img.shape[0] / 2))# bottom_coords (img.shape[1], int(img.shape[0] / 2))bottom_coordsleft (800, int(img.shape[0] / 2)100)top_coordsleft (800, int(img.shape[0] / 2)-500)bottom_coordsright (img.shape[1]-600, int(img.shape[0] / 2)100)top_coordsright (img.shape[1]-600, int(img.shape[0] / 2)-500)img1 img.copy()# 画出线# cv2.line(img1, top_coords, bottom_coords, (0, 255, 0), thickness2)cv2.rectangle(img1, (800, int(img.shape[0] / 2)100), (img.shape[1]-700, int(img.shape[0] / 2)-500), (0, 255, 0), 3)# cv2.line(img1, top_coordsleft, top_coordsright, (255, 0, 0), thickness3) # 蓝色or_img, box_coords model.detect(img)img2 utlis.judgeshow_zong(img1, box_coords, top_coordsleft, bottom_coordsright)cTime time.time()fps 1 / (cTime - pTime)pTime cTimecv2.putText(img2, str(int(fps)), (10, 70), cv2.FONT_HERSHEY_PLAIN, 3, (255, 0, 255), 3)# 在窗口中显示目标检测结果cv2.imshow(result, img2)# 等待用户按键如果按下 q 键或者 Esc 键则退出循环c cv2.waitKey(1) 0xFFif c 27 or c ord(q):break# 释放视频对象并关闭窗口
cap.release()
cv2.destroyAllWindows()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924259.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!