通过迭代方式保存图片的时候,通过imwrite可以很好的将不同命名的图片保存在文件中,但是我今天遇到一个很奇葩的问题,图片全部保存下来了,但是每张图片的中文命名出现了乱码,如下图:

原部分代码如下:

ef cnn_predict(cnn, Lic_img):characters = ["京", "沪", "津", "渝", "冀", "晋", "蒙", "辽", "吉", "黑", "苏", "浙", "皖", "闽", "赣", "鲁", "豫","鄂", "湘", "粤", "桂", "琼", "川", "贵", "云", "藏", "陕", "甘", "青", "宁", "新", "0", "1", "2","3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M","N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]Lic_pred = []for lic in Lic_img:lic_pred = cnn.predict(lic.reshape(1, 80, 240, 3))  # 预测形状应为(1,80,240,3)lic_pred = np.array(lic_pred).reshape(7, 65)  # 列表转为ndarray,形状为(7,65)if len(lic_pred[lic_pred >= 0.8]) >= 4:  # 统计其中预测概率值大于80%以上的个数,大于等于4个以上认为识别率高,识别成功chars = ''for arg in np.argmax(lic_pred, axis=1):  # 取每行中概率值最大的arg,将其转为字符chars += characters[arg]chars = chars[0:2] + '·' + chars[2:]f = open('test.txt', 'a+')if chars:print(chars)f.write('%s %s \n' % (path,chars))else:print('Unable to recognize')f.write('Unable to recognize_%s\n' % (path))Lic_pred.append((lic, chars))  # 将车牌和识别结果一并存入Lic_predsave_path = 'F:/Dataset/car/'cv2.imwrite(save_path+'{}.jpg'.format(chars),lic)os.makedirs(os.path.dirname(save_path),exist_ok=True)if Lic_pred:print('success')else:a = '未能识别'f.write('%s %s \n' % (path, a))return Lic_pred

在代码中是没有问题的,通过print也能够正确的输出,经查阅资料,发现是乱码的原因,也找到了解决办法:将源代码的
cv2.imwrite(save_path+’{}.jpg’.format(chars),lic)
改为
cv2.imencode(’.jpg’, lic)[1].tofile(save_path+chars+’.jpg’)
然后再运行
就可以成功解决,结果图如下

注意:
#读取中文路径
def cv_imread(file_paht):
cv_img=cv2.imdecode(np.fromfile(file_paht,dtype=np.uint8),-1)
return cv_img
#保存中文路径
def cv_imwrite(savePath,tem):
cv2.imencode(’.jpg’,tem)[1].tofile(savePath) # 保存图片

Opencv错误笔记(一):通过cv2保存图片采用中文命名出现乱码相关推荐

  1. opencv学习笔记五:cv2.warpAffine()函数详解

    cv2.warpAffine()函数主要是利用变换矩阵M对图像进行如旋转.仿射.平移等变换,只需要我们提供一个2*3的变换矩阵M,就可以对图像进行变换.它一般是和cv2.getRotationMatr ...

  2. opencv学习笔记六十八:显示中文汉字

    opencv中putText只能显示英文,如果在某个程序中你想显示汉字,可在该项目上新建一个头文件项putText.h和一个putText.cpp即可. putText.h #ifndef PUTTE ...

  3. 关于MySQL数据库当中,字段(或栏位)采用中文命名时的掉坑经历

    最近在学习MySQL数据库,在字段命名时采用了中文进行命名,其中有一列采用了"数量/台",然后在Visual Studio当中对其进行访问时,出现了错误: MySql.Data.M ...

  4. OpenCV 学习笔记(Watershed)

    OpenCV 学习笔记(Watershed) Watershed,中文一般翻译为分水岭算法.分水岭算法是一种图像区域分割算法,它把位置接近,灰度值也接近的像素点连接起来形成一个封闭的区域.关于分水岭算 ...

  5. 解决opencv错误AttributeError: module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘

    解决opencv错误AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d' 文章目录: 一.错误原因 二.解决方法 一.错误原因 ...

  6. py程序可以运行,但打包出的exe运行提示错误:加载“cv2”二进制扩展时检测到递归。请检查OpenCV安装。

    py程序里包含有 from pdf2docx import Converter 没有封装之前可以正常运行,但是封装成exe后,运行时闪退.我快速复制下报错的内容. raise ImportError( ...

  7. 分水岭算法java,OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法...

    1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...

  8. OPENCV学习笔记 - SIFT 尺度不变特征变换 Python

    OPENCV学习笔记 - SIFT 尺度不变特征变换 Python 为什么我们需要SIFT尺度不变特征变换? 第一,建立高斯差分金字塔 第二,极值点的精确定位 第三,确定关键点的主方向 第四,构建关键 ...

  9. OpenCV学习笔记(七)——图像梯度及边缘检测

    图像梯度计算的是图像变化的速度.对于图像的边缘部分,其灰度值变化较大,梯度值也较大:相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小.一般情况下,图像梯度计算的是图像的边缘信息. ...

最新文章

  1. 11月12日云栖精选夜读 | 2135亿!新技术的力量刚刚开始
  2. 【RecyclerView】 十一、RecyclerView 数据更新 ( 删除单条数据 | 批量删除数据 )
  3. 山东管理学院计算机专业在哪个校区,2019年山东管理学院新生在哪个校区及新生开学报到时间...
  4. python for arcgis_面向ArcGIS的Python脚本编程 ([美]赞德伯根) 中文pdf扫描版[50MB]
  5. 【LeetCode - 224】基本计算器(栈)
  6. 文件夹 计算机无法使用,电脑文件夹提示被使用无法删除怎么办
  7. spark 2.2 读取 Hadoop3.0 数据异常 org.apache.hadoop.hdfs.web.HftpFileSystem cannot access its superinterfa
  8. PHP 文件夹操作「复制、删除、查看大小」递归实现
  9. Python中self的用法详解(链接传送)
  10. [CruiseControl] 概念
  11. 170705、springboot编程之自定义properties
  12. PMP估算方法对比:参数估算、类比估算、自下而上估算、三点估算和粗略量级估算
  13. windows下安装MinGW及C++的环境配置
  14. 戴尔服务器系统还原备份系统,戴尔电脑自带的正版系统恢复你会用吗?
  15. win10桌面无法新建文件夹解除管理员权限方法
  16. 开发游戏引擎需要具备什么
  17. 对比7种分布式事务方案,还是偏爱阿里开源的Seata,真香!(原理+实战)
  18. jetpack4.5.1使用tensorrt加速模型
  19. unity3d学习笔记-动画(1.Unity 中动画的基本原理)
  20. 招聘全栈工程师 欢迎加入 ArcBlock 中国研发中心

热门文章

  1. Python | 教你用 Python 来朗读网页
  2. 小学五年级计算机课含板书设计,小学五年级下册课文丰碑教学设计和板书
  3. dockerfile自制Linux镜像,使用dockerfile基于centos构建python3镜像
  4. DockerHub 镜像仓库的使用
  5. 【2021最新版】Spring面试题总结(131道题含答案解析)
  6. html文件汉字乱码
  7. Java | 详解 Java 16 新特性 Record 记录类
  8. 我希望,男女交友网站进入「甜蜜分众」世代
  9. ICLR 2020 多智能体强化学习论文总结
  10. 在云手机中访问本地相册的方法