原地址:https://blog.csdn.net/liuqinshouss/article/details/78696032

1 说明

本篇中使用的opencv版本为3.3,python使用的版本为3.6。

2.问题描述

本人小白一枚,由于毕业论文做图像识别方面的内容,所以最近才开始学习python,老师指导我用opencv做图片去噪处理,所以最近才知道opencv是干嘛用的,opencv才安装好,想尝试一下简单的使用opencv读取、显示和存储一个图片。然而一开始就给了我一个下马威。

开始代码如下,只涉及到图片的读取和显示:

 # -*- coding: utf-8 -*-import cv2if __name__=='__main__':path='E:/毕业设计/images/百合1.jpg'img=cv2.imread(path,1)cv2.namedWindow(image,cv2.WINDOW_AUTOSIZE)cv2.imshow(image,img)k=cv2.waitKey(0)

运行后报了这个错误:

  1. cv2.imshow('image',img)
  2. cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: error: (-215) size.width>0 && size.height>0 in function cv::imshow

百度了一下:原因是因为文件路径错误,未读取到图片。但是我反复确认我的图片路径没有错误,所以想到会不会是中文的字符编码问题导致读取不到图片,于是我在D盘下放了一张英文命名的图片,就修改了代码的path改为‘D:/ Hydrangeas.jpg’,再次运行上述代码,结果如下:

成功读取并显示,则表明我的猜想是正确的,是因为路径的中文编码导致图片读取不成功。

3.解决办法

但是可惜的是,小白我并没有解决办法,于是又问度娘,寻找python3中opencv读取中文名称的解决办法。

最后在一个知乎的问答中找到了答案:

链接如下:https://www.zhihu.com/question/67157462/answer/251754530

我尝试了,果然能成功读取中文路径与中文名称的图片,事实证明该方法是正确的。然而这位答主的回答居然没有赞,我果断的给她点了个赞,不知为何题主竟然都没赞。

然后又在另一个知乎问答下发现了另一个,包括opencv读取和存储中文名称和路径的方法:

附上链接:https://www.zhihu.com/question/47184512

尝试后,果然都是对的,感谢知乎,感谢两位大佬!

附上我修改后的代码:

 # -*- coding: utf-8 -*-import cv2import numpy as np## 读取图像,解决imread不能读取中文路径的问题def cv_imread(filePath):cv_img=cv2.imdecode(np.fromfile(filePath,dtype=np.uint8),-1)## imdecode读取的是rgb,如果后续需要opencv处理的话,需要转换成bgr,转换后图片颜色会变化##cv_img=cv2.cvtColor(cv_img,cv2.COLOR_RGB2BGR)return cv_imgif __name__=='__main__':path='E:/images/百合/百合1.jpg'img=cv_imread(path)cv2.namedWindow('lena',cv2.WINDOW_AUTOSIZE)cv2.imshow('lena',img)k=cv2.waitKey(0)##这样是保存到了和当前运行目录下cv2.imencode('.jpg', img)[1].tofile('百合.jpg')

转载于:https://www.cnblogs.com/byteHuang/p/9597439.html

opencv_python使用cv2.imread()读取中文路径报错问题(转)相关推荐

  1. opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径。

    opencv_python使用cv2.imread()读取中文路径,cv2.imwrite()把图片写入中文路径 定义函数: cv2_imread(path)代替cv2.imread() cv2_im ...

  2. cv2.imread读取图像结果none_python cv2.imread 读取中文路径的图片返回为None的问题

    此篇文章首发于我的csdn博客,见原文链接. 使用cv2读取图片是常见的事情,但如果,输出图片形状大小时出现报错" 'NoneType' object has no attribute sh ...

  3. Pandas读取中文文本文件报错:python ‘utf-8‘ codec can‘t decode byte 0xe3 in position 0: unexpected end of data

    近日用pandas的read_csv读取中文文本文件时报错:python 'utf-8' codec can't decode byte 0xe3 in position 0: unexpected ...

  4. python读取中文文件报错-Python3 解决读取中文文件txt编码的问题

    问题描述 尝试用Python写一个Wordcloud的时候,出现了编码问题. 照着网上某些博客的说法添添改改后,结果是变成了"UnicodeDecodeError: "utf-8' ...

  5. c++上传oss中文路径报错_C# 从Oss对象存储器上下载文件到本地打包下载代码

    [HttpGet][Route("downloadimgszip")]public void downloadimages(string goodsid){//获取所有图片路径Li ...

  6. urlopen中文路径报错from urllib.request import urlopen from urllib.parse import quote from bs4 import Beaut

    描述 当urlopen中出现中文路径是报错.'ascii' codec can't encode characters 解决办法 将中文使用quote包住 from urllib.request im ...

  7. 电脑微信双开 中文路径报错解决

    参考网上文章 自己操作了一遍 流程如下 开始之前先关闭电脑微信 首先说下怎么微信双开 找到微信的桌面快捷方式 右键属性 复制上述路径 新建文本文档 如下编写 start F:\软件\微信\安装目录\W ...

  8. python打印汉字报错_python中文输出报错解决方案(实例教程)

    对于刚刚开始接触python这门语言的人来说,可能会对于如何使用这门语言来进行编程会存在有一定的疑惑.如何使用中文来进行程序的编写,会不会与英文的编写有不一样的地方?今天我们就来看一下在python中 ...

  9. OpenCV——cv2.imread()无法读取中文路径的文件解决方案

    解决方案 方法一: ## 读取图像,解决imread不能读取中文路径的问题 def cv_imread(filePath):# 核心就是下面这句,一般直接用这句就行,直接把图片转为mat数据cv_im ...

最新文章

  1. [BUUCTF]PWN——ciscn_2019_es_2(栈劫持)
  2. ksnapshot运行look up error undefined symbol错误解决方案
  3. spark restful_使用Spark构建简单的RESTful API
  4. Android工程开发笔记一
  5. python读取linux内存_使用python获取CPU和内存信息(linux系统)
  6. JavaScript-参数
  7. delphi 身份证号码相关处理单元
  8. 机器学习之有监督学习,无监督学习,半监督学习
  9. win10设置HTML桌面背景,win10系统分屏设置不同壁纸教程
  10. 一个优秀程序员可抵五个普通程序员!
  11. 关闭计算机安全模式,怎么关闭安全模式,bios安全启动模式
  12. 【激发兴趣】台球小游戏基础版
  13. 论文阅读:Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
  14. 【JZOJ 4598】准备食物
  15. Linux操作系统搭建srs服务器
  16. ue4 android log,UE4+Log日志
  17. 孔庆东 -- 一个DEAD-LEFTIST_拔剑-浆糊的传说_新浪博客
  18. 基于Web的网络在线考试系统
  19. 虚拟乐器综合音源-Vir2 Instruments VI.ONE Kontakt
  20. 苏州电脑数据恢复中心怎么样

热门文章

  1. sql 逐行更新_sql优化面试题
  2. 触发事件_黑暗的三天之触发事件
  3. java的reentrantlock_Java并发之ReentrantLock详解
  4. 计算机管理游戏,网吧游戏管理系统
  5. Linux中 print用法,linux之find中的-print0和xargs中-0用法
  6. socket、端口、进程的关系
  7. Let's Encrypt泛域名SSL证书申请
  8. restful 风格 web api规范
  9. HDU 1018 Big Number
  10. happens-before通俗理解