【发布时间】:2023-01-30 00:58:28
【问题描述】:
我有一个检测对象的代码,但我想将边界框添加到检测中。
导入cv2 将 numpy 导入为 np 从 keras.models 导入 load_model
加载模型
model = load_model('keras_model.h5')
CAMERA 可以是 0 或 1,具体取决于您计算机的默认摄像头。
相机 = cv2.VideoCapture(0)
从 labels.txt 文件中获取标签。这将在以后使用。
labels = open('labels.txt', 'r').readlines()
而真实的: # 抓取网络摄像头图像。 ret, 图像 = camera.read() # 将原始图像调整为 (224-height,224-width) 像素。 image = cv2.resize(image, (224, 224), 插值=cv2.INTER_AREA) # 在窗口中显示图像 cv2.imshow('网络摄像头图像', image) # 使图像成为一个 numpy 数组并将其重新整形为模型输入形状。 图像 = np.asarray(图像, dtype=np.float32).reshape(1, 224, 224, 3) # 归一化图像数组 图片 = (图片 / 127.5) - 1 # 让模型预测当前图像是什么。模型.预测 # 返回一个百分比数组。示例:[0.2,0.8] 表示有 20% 的把握 # 这是第一个标签,80% 确定它是第二个标签。 概率=模型。预测(图像) # 打印什么是最高值概率标签 打印(标签[np.argmax(概率)]) # 聆听键盘上的按键。 keyboard_input = cv2.waitKey(1) # 27 是键盘上 esc 键的 ASCII。 如果 keyboard_input == 27: 休息
相机.release() cv2.destroyAllWindows()
预测对象周围的漂亮边界框
【问题讨论】:
标签: keras opencv3.0 object-detection-api vision