当前位置: 首页 > news >正文

网站备案成功后怎么弄河南省建设工程中标信息网

网站备案成功后怎么弄,河南省建设工程中标信息网,营销型网站应用,自媒体平台怎么注册目录 代码分析 1. YOLO 模型加载 2. 视频加载与初始化 3. 视频帧处理 4. 物体检测 5. 处理检测结果 6. 边界框和类别显示 7. 帧率#xff08;FPS#xff09;计算 8. 结果显示与退出 9. 资源释放 整体代码 效果展示 总结 代码分析 这段代码使用 YOLO#xff08… 目录 代码分析 1. YOLO 模型加载 2. 视频加载与初始化 3. 视频帧处理 4. 物体检测 5. 处理检测结果 6. 边界框和类别显示 7. 帧率FPS计算 8. 结果显示与退出 9. 资源释放 整体代码 效果展示 总结 代码分析 这段代码使用 YOLOYou Only Look Once模型进行视频中的物体检测并通过 OpenCV 显示检测结果。以下是代码的详细分析 1. YOLO 模型加载 net cv2.dnn.readNet(../../needFiles/yolov3.weights, ../../needFiles/yolov3.cfg)这行代码加载了预先训练的 YOLOv3 模型的权重文件yolov3.weights和配置文件yolov3.cfg。YOLOv3 是一个实时物体检测模型能够检测多个类别的物体。 layer_names net.getLayerNames() output_layers [layer_names[i - 1] for i in net.getUnconnectedOutLayers()]getLayerNames() 获取网络的所有层名称。getUnconnectedOutLayers() 返回网络输出层的索引通常是 YOLO 的 3 个输出层通过索引列表获取这些输出层的名称用于后面的 forward 方法中。 2. 视频加载与初始化 video_path D:/Dji/DJIneo.mp4 cap cv2.VideoCapture(video_path)使用 cv2.VideoCapture 来加载视频文件。如果视频路径正确cap 将用于逐帧读取视频。 resize_scale 0.3定义缩放比例为 0.3用于后续缩小显示尺寸以减少计算量。 prev_time 0初始化变量 prev_time用于计算帧率FPSFrames Per Second。 3. 视频帧处理 while True:ret, frame cap.read()if not ret:break逐帧读取视频内容cap.read() 返回两个值ret 是布尔值表示是否成功读取frame 是当前帧图像。如果无法读取如视频结束则退出循环。 frame_resized cv2.resize(frame, (0, 0), fxresize_scale, fyresize_scale)当前帧 frame 被缩小到原来的 30%通过 resize_scale用于加快后续处理。 4. 物体检测 blob cv2.dnn.blobFromImage(frame_resized, 0.00392, (416, 416), (0, 0, 0), True, cropFalse) net.setInput(blob) outs net.forward(output_layers)YOLO 模型需要特定格式的输入。blobFromImage 将图像转换为 YOLO 需要的 4D blob归一化比例为 0.00392图像大小调整为 (416, 416)。net.setInput(blob) 将处理后的 blob 输入到网络net.forward(output_layers) 得到检测结果。 5. 处理检测结果 class_ids [] confidences [] boxes []初始化三个列表class_ids 用于存储检测到的物体类别confidences 存储每个物体的置信度boxes 存储边界框的坐标。 for out in outs:for detection in out:scores detection[5:]class_id np.argmax(scores)confidence scores[class_id]if confidence 0.5:...遍历 YOLO 输出的 outs每个 detection 包含检测到的一个物体的信息。检测结果中的前 4 个值是物体的位置信息后面的值是类别的置信度。np.argmax(scores) 找出置信度最高的类别confidence 存储该类别的置信度。如果置信度超过 0.5则认为该物体被成功检测。 6. 边界框和类别显示 indexes cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4) for i in indexes.flatten():x, y, w, h boxes[i]label str(class_ids[i])cv2.rectangle(frame_resized, (x, y), (x w, y h), (0, 255, 0), 2)cv2.putText(frame_resized, label, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)使用非极大值抑制NMSNon-Maximum Suppression去除重叠的边界框减少冗余检测结果。然后遍历保留下来的边界框在图像上绘制矩形框和类别标签。 7. 帧率FPS计算 current_time time.time() fps 1 / (current_time - prev_time) prev_time current_time cv2.putText(frame_resized, fFPS: {int(fps)}, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2)通过计算两帧之间的时间差实时计算并显示 FPS以评估模型的运行效率。 8. 结果显示与退出 cv2.imshow(Object Detection, frame_resized) if cv2.waitKey(1) 0xFF ord(q):break使用 imshow 显示检测结果按 q 键退出循环。 9. 资源释放 cap.release() cv2.destroyAllWindows()释放视频资源并关闭所有窗口。 整体代码 import cv2 import numpy as np import time# 加载 YOLO 模型 net cv2.dnn.readNet(../../needFiles/yolov3.weights, ../../needFiles/yolov3.cfg) layer_names net.getLayerNames() output_layers [layer_names[i - 1] for i in net.getUnconnectedOutLayers()] # 修正索引问题# 加载视频 video_path D:/Dji/DJIneo.mp4 cap cv2.VideoCapture(video_path)# 缩小显示尺寸 resize_scale 0.3# 初始化时间和帧计数器 prev_time 0# 处理视频的每一帧 while True:ret, frame cap.read()if not ret:break# 缩小当前帧frame_resized cv2.resize(frame, (0, 0), fxresize_scale, fyresize_scale)# 检测对象blob cv2.dnn.blobFromImage(frame_resized, 0.00392, (416, 416), (0, 0, 0), True, cropFalse)net.setInput(blob)outs net.forward(output_layers)# 处理检测结果class_ids []confidences []boxes []for out in outs:for detection in out:scores detection[5:]class_id np.argmax(scores)confidence scores[class_id]if confidence 0.5: # 置信度阈值center_x int(detection[0] * frame_resized.shape[1])center_y int(detection[1] * frame_resized.shape[0])w int(detection[2] * frame_resized.shape[1])h int(detection[3] * frame_resized.shape[0])x int(center_x - w / 2)y int(center_y - h / 2)boxes.append([x, y, w, h])confidences.append(float(confidence))class_ids.append(class_id)# 应用非极大抑制来去除冗余框indexes cv2.dnn.NMSBoxes(boxes, confidences, 0.5, 0.4)for i in indexes.flatten(): # 展平索引x, y, w, h boxes[i]label str(class_ids[i])cv2.rectangle(frame_resized, (x, y), (x w, y h), (0, 255, 0), 2)cv2.putText(frame_resized, label, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)# 计算 FPScurrent_time time.time()fps 1 / (current_time - prev_time)prev_time current_time# 显示 FPScv2.putText(frame_resized, fFPS: {int(fps)}, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2)# 显示结果cv2.imshow(Object Detection, frame_resized)# 按 q 键退出if cv2.waitKey(1) 0xFF ord(q):break# 释放资源 cap.release() cv2.destroyAllWindows()效果展示 YOLOV3实现目标识别 总结 这呃不总结了
http://www.dnsts.com.cn/news/150888.html

相关文章:

  • 在阿里云做视频网站需要什么重庆建设工程公司网站
  • 泸州建设网站云虚拟主机可以做多少个网站
  • 网站策划怎么样中企动力网站报价
  • 网站首页设计布局图文广告店最佳名字
  • 衡阳市建设网站制作图片的免费网站
  • 东莞网站建设aj工作室WordPress安装Redis
  • 商业门户网站制作wordpress 边框大小
  • 网站打开速度规定多长时间南昌地宝网
  • 网站上可以做文字链接么万户网络有限责任公司
  • 建设企业网站的好处是什么seo优化流程
  • 访问网站错误代码为137php网站后台管理系统
  • 成都网站制作计划负责网站建设推广
  • 企业网站 带后台长宁深圳网站建设公司
  • 用帝国cms做网站wordpress ie9
  • 找个人制作网页的网站焦作网站制作公司
  • 推几个学习网站网站备案号被注销
  • vue 大型网站开发石龙网站建设
  • 华为外包做的网站wordpress上卖什么用
  • 系部网站建设中期检查表郑州网站建设 天强科技
  • 三合一网站什么意思系统那个网站好
  • 网站建设的初衷网站开发工程师公司
  • 一学一做看视频网站有哪些美食网站策划书范文
  • 学习做ppt 的网站网站建设页面设计图片
  • 做太空泥的几分钟网站微信公众号排版app
  • 黄南州网站建设公司嵌入式软件开发工作内容
  • 重庆营销网站建设公司排名字体怎么安装到电脑wordpress
  • 做网站后台需要写代码吗昆明网站建设首选互维
  • 深圳自己做网站 服务器网站制作 郑州
  • 网站不稳定制作网架厂家
  • php网站开发面试题wordpress网站在线安装