给我一段python基于tensorflow和cnn识别信号灯的代码
时间: 2023-11-27 18:54:28 浏览: 84
好的,以下是一个基于tensorflow和CNN的信号灯识别代码示例:
```python
import tensorflow as tf
import numpy as np
import cv2
# 定义模型
def cnn_model():
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(3, activation='softmax')
])
return model
# 加载模型
model = cnn_model()
model.load_weights('signal_light_cnn.h5')
# 读取图像
img = cv2.imread('test.jpg')
img = cv2.resize(img, (32, 32))
# 预测
result = model.predict(np.array([img]))
# 输出结果
if np.argmax(result) == 0:
print('红灯')
elif np.argmax(result) == 1:
print('绿灯')
else:
print('黄灯')
```
需要注意的是,这里的模型是在一些信号灯数据集上进行训练的,因此需要根据实际情况调整模型结构和参数。同时,对于不同的信号灯类型,需要准备不同
阅读全文