wordpress vr网站,长岛网站建设,旅游类网站如何做推广,深圳短视频seo哪家好使用python_cv实现目标实时检测 python 安装依赖核心代码快速使用实现结果展示enjoy python 安装依赖
opencv_python4.7.0.72
pandas1.5.3
tensorflow2.11.0
tensorflow_hub0.13.0
tensorflow_intel2.11.0
numpy1.23.5核心代码快速使用
# 使用了TensorFlow Hub和OpenCV库来实… 使用python_cv实现目标实时检测 python 安装依赖核心代码快速使用实现结果展示enjoy python 安装依赖
opencv_python4.7.0.72
pandas1.5.3
tensorflow2.11.0
tensorflow_hub0.13.0
tensorflow_intel2.11.0
numpy1.23.5核心代码快速使用
# 使用了TensorFlow Hub和OpenCV库来实现实时对象检测
# tensorflow_hub用于加载预训练的模型。
# cv2OpenCV库用于图像处理和视频流操作。
# tensorflow深度学习框架。
# pandas数据处理库。import tensorflow_hub as hub
import cv2
# import numpy
import tensorflow as tf
import pandas as pd# 加载了EfficientDet Lite2检测模型并读取了标签文件# 模型加载方式被注释掉直接通过本地路径加载模型。
# 从CSV文件中读取标签以ID作为索引获取对象名称。# Carregar modelos
# detector hub.load(https://tfhub.dev/tensorflow/efficientdet/lite2/detection/1)
detector hub.load(efficientdet_lite2_detection_1)
labels pd.read_csv(labels.csv, sep;, index_colID)
labels labels[OBJECT (2017 REL.)]# 初始化摄像头捕获0表示默认摄像头。
cap cv2.VideoCapture(0)# 定义输入图像的宽度和高度。width 512
height 512# 接下来是一个循环用于实时处理视频流
while (True):# Capture frame-by-frame# 在循环中逐帧捕获视频并调整尺寸以匹配模型输入。ret, frame cap.read()# Resize to respect the input_shapeinp cv2.resize(frame, (width, height))# 将BGR格式的图像转换为RGB格式这是因为大多数深度学习模型接受RGB输入。# Convert img to RGBrgb cv2.cvtColor(inp, cv2.COLOR_BGR2RGB)# Is optional but i recommend (float convertion and convert img to tensor image)rgb_tensor tf.convert_to_tensor(rgb, dtypetf.uint8)# 将图像转换为TensorFlow张量类型为uint8。# Add dims to rgb_tensorrgb_tensor tf.expand_dims(rgb_tensor, 0)# 增加一个维度以匹配模型输入要求。boxes, scores, classes, num_detections detector(rgb_tensor)pred_labels classes.numpy().astype(int)[0]pred_labels [labels[i] for i in pred_labels]pred_boxes boxes.numpy()[0].astype(int)pred_scores scores.numpy()[0]# 将预测结果转换为可处理的格式包括标签、边界框和得分。#循环遍历每个检测到的对象绘制边界框和标签只显示得分高于0.5的对象。# loop throughout the faces detected and place a box around itfor score, (ymin, xmin, ymax, xmax), label in zip(pred_scores, pred_boxes, pred_labels):if score 0.5:continuescore_txt f{100 * round(score,0)}img_boxes cv2.rectangle(rgb, (xmin, ymax), (xmax, ymin), (0, 255, 0), 1)font cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img_boxes, label, (xmin, ymax-10), font, 0.5, (255, 0, 0), 1, cv2.LINE_AA)cv2.putText(img_boxes, score_txt, (xmax, ymax-10), font, 0.5, (255, 0, 0), 1, cv2.LINE_AA)# 显示处理后的图像并在按下q键时退出循环。# Display the resulting framecv2.imshow(black and white, img_boxes)if cv2.waitKey(1) 0xFF ord(q):break# 释放摄像头资源并关闭所有OpenCV窗口确保程序正常结束。
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()实现结果展示 enjoy
githubliveCamer