神经网络+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/


