神经网络+OpenCV

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
import numpy as np
import cv2 as cv2
 
# 创建一个神经网络
ann = cv2.ml.ANN_MLP_create()
# 设置神经网络各层的神经元个数,输入层9个,中间层5个,输出层9个
ann.setLayerSizes(np.array([9,5,9],dtype=np.uint8))
# 指定训练采用反向传播方式
ann.setTrainMethod(cv2.ml.ANN_MLP_BACKPROP)
# 使用一个样本训练模型
ann.train( np.array([[1.2,1.3,1.9,2.2,2.3,2.9,3.0,3.2,3.3]],dtype=np.float32), # 样本 cv2.ml.ROW_SAMPLE, np.array([[0,0,0,0,0,1,0,0,0]],dtype=np.float32) # 样本标签 )
# 使用一条数据测试模型
print (ann.predict(np.array([[1.4,1.5,1.2,2.,2.5,2.8,3.,3.1,3.8]], # 测试数据
dtype=np.float32))
)

http://liveindalian.com/%e7%a5%9e%e7%bb%8f%e7%bd%91%e7%bb%9copencv/

标签