实验10 实验箱应用-CNN模型手写数字图像分类
- 实验内容
- 掌握实验箱的操作流程,包括在本机上调试代码,上传实验文件,相机采集图片,模型验证。
- 用实验箱的摄像头拍摄方块上数字的图片,在图像处理的基础上,应用实验箱对CNN进行训练,并进行手写数字识别。
- 测试结果
位置 | 1 | 2 | 3 | 4 | 正确率 | |
第一次实验 | 真实数字 | 1 | 4 | 8 | 7 | 75% |
识别结果 | 9 | 4 | 8 | 7 | ||
第二次实验 | 真实数字 | 6 | 9 | 8 | 6 | 100% |
识别结果 | 6 | 9 | 8 | 6 |
实验12 AI实验箱应用之SVM
- 实验内容
用实验箱的摄像头拍摄方块上数字的图片,在图像处理的基础上,应用支持向量机方法识别图像中的数字并进行分类。
- 实验步骤:
- 在本地训练SVM模型并保存
- 上传自己训练的SVM模型和相关代码到实验箱中
- 应用实验箱机械手臂上的摄像头拍摄图像;
- OpenCV处理图像;
- 用SVM方法识别图像中的数字,并输出结果;
- 驱动机械臂移动识别出的数字方块,并进行排序。
- 测试结果
位置 | 1 | 2 | 3 | 4 | 正确率 | |
第一次实验 | 真实数字 | 2 | 9 | 8 | 4 | 75% |
识别结果 | 2 | 2 | 3 | 4 | ||
第二次实验 | 真实数字 | 9 | 1 | 2 | 3 | 50% |
识别结果 | 3 | 1 | 3 | 3 | ||
第三次实验 | 真实数字 | 2 | 7 | 1 | 4 | 75% |
识别结果 | 2 | 2 | 1 | 4 |
- 实验中遇到的困难
【1】
FileNotFoundError:[Errno.2] No such file or directory:linux@linux:~/zhujiaos 1bash: 1:未找到命令
解决过程:在电脑上修改代码的路径后,仍然出现问题。最后发现是箱子问题,更换箱子后能够正常检测图片。
【2】
Traceback (most recent call last):File "main _Box.py",line 50,in <module>rec _result = image processing,image_recognize(cargo location, cargo locatiorsort,frame)
return N,dot(selfasmatrix(other))ValueError; shapes (0,784) and (28,1) not aligned; 784 (dim 1) != 28 (dim 0)
解决过程:更改img_rec.py中的相关参数,将28改为784,而后程序可以正常运行。更改如下:
self.edge_img = np.ones((784, 784, 1), np.uint8) * 0
img = cv2.resize(img, (784, 784), interpolation=cv2.INTER_CUBIC)
【3】
contours,binary = cv2.findContours(close image,CV2.RETR EXTERNAL,cV2.CHA]N APPROX SIMPLE) #查找轮廓e
ValueError: too many values to unpack (expected 2)
解决方法:将代码更改为contours,binary,_ = cv2.findContours(close image,CV2.RETR EXTERNAL,cV2.CHA]N APPROX SIMPLE) #查找轮廓e
【4】
ImportError: No module named 'sklearn,externals.joblib.numpy_pickle
解决方法:安装相关依赖后重新烧录。