学长要求做一个可视化的与数据分析的程序,就想到了这个,用了最简单的方法,其实识别效率不是很高,基本上书写要与训练数据比较相似才能识别出来,正在想办法去优化,先把目前的成果分享出来,本人是用python+opencv做的。
draw.py
相当于一个写字板,将写完字后的图片保存转为32*32
#encoding:utf-8
import cv2
import numpy as np #mouse callback function
from knn import *
ix,iy=-1,-1
#创建图像与窗口并将窗口与回调函数绑定
def in_img():
for i in range(512):
img[i,:]=255
cv2.namedWindow('image')
cv2.setMouseCallback('image',draw_circle)
while(1):
cv2.imshow('image',img)
if cv2.waitKey(20)& 0xFF == ord('q'):
cv2.imwrite( '1.jpg',img)
break
cv2.destroyAllWindows()
def draw_circle(event,x,y,flags,param):
global ix,iy,drawing
if event==cv2.EVENT_LBUTTONDOWN:
drawing=True
ix,iy=x,y
elif event==cv2.EVENT_MOUSEMOVE and flags==cv2.EVENT_FLAG_LBUTTON:
if drawing==True:
cv2.circle(img,(x,y),30,(0,0,0),-1)
elif event==cv2.EVENT_LBUTTONUP:
drawing==False
def read_image():
img1 = cv2.imread('1.jpg', cv2.IMREAD_GRAYSCALE)
r