python环境_数字图像处理
1、JupyterNotebook下载地址https://www.anaconda.com/安装个人版64-Bit Graphical Installer (477 MB)
按装numpy pip install numpy -i http://mirrors.aliyun.com/pypi/simple/
安装matplotlib pip install matplotlib -i http://mirrors.aliyun.com/pypi/simple/
图像处理库pip install scikit-image -i http://mirrors.aliyun.com/pypi/simple/
或者pip install scikit-image -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
安装opencv(指定版本防止不能调用库)
pip install opencv_python==3.4.2.16 -i http://mirrors.aliyun.com/pypi/simple/
pip install opencv-contrib-python==3.4.2.16 -i http://mirrors.aliyun.com/pypi/simple/
生成jupyter配置文件
执行jupyter notebook --generate-config
设置文件位置,找到jupyter_notebook_config.py文件
修改这个#c.NotebookApp.notebook_dir = ''
查看登陆token jupyter notebook list
智能算法实现
tensorflow 小白易,可以使用keras,keras封装了tnesorfow里边的方法可以用
tensorfow和keras版本需要匹配
pip install tensorflow==1.13.1 pip install keras==2.2.4
AttributeError: ‘str‘ object has no attribute ‘decode‘ 需要降低pip install h5py==2.10.0
训练识别数字
https://www.cnblogs.com/ncuhwxiong/p/9774515.html
https://blog.csdn.net/weixin_36158843/article/details/112541075
使用模型识别数字
pip install torch -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install torchvision -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install mnist -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
#展示训练好的模型在测试集图片上的表现效果
import torch
from torchvision import datasets, transforms
import torchvision
from mnist import *
import glob
import cv2
import torch.nn.functional as F
from torch.autograd import Variable
import numpy as np
from skimage import io,transform
img1 = cv2.imread('4.jpg', 0)
img1 = cv2.resize(img, (28, 28))
output=model.predict(img1.reshape(1,28,28,1))
plt.imshow(img1)
height,width=img.shape
dst=np.zeros((height,width),np.uint8)
for i in range(height):
for j in range(width):
dst[i,j]=255-img[i,j]
img = dst
img=np.array(img).astype(np.float32)
img=np.expand_dims(img,0)
img=np.expand_dims(img,0)#扩展后,为[1,1,28,28]
img=torch.from_numpy(img)
img = img.to(device)
output=model(Variable(img))
prob = F.softmax(output, dim=1)
prob = Variable(prob)
prob = prob.cpu().numpy() #用GPU的数据训练的模型保存的参数都是gpu形式的,要显示则先要转回cpu,再转回numpy模式
print(prob) #prob是10个分类的概率
pred = np.argmax(prob) #选出概率最大的一个
print(pred.item())