python3.x, cv2.imread()导入图片失败,none

首先在第一次运行时,命令行中错误:
ValueError: embedded null character
发现是因为导入的图片路径中存在\0


python3.x, cv2.imread()导入图片失败,none
1. 路径中无中文名

2. pip list 发现也有opencv-python,(虽然我又重新下了一遍


而这些图片用PS打开的时候,会报错: 无法完成请求,因为找到不知名的或无效的JPEG标识符类型
图片是我从网站上爬下来的,改过其后缀名为jpg, 源图真正的后缀名是gif.
所以要重置一些文件的格式,比如用画图重新保存为jpg格式。
这里注意: 后缀是一个标签,表明文件的类型和格式,至于文件到底是不是该格式就另说了。有时候改了后缀名,文件仍能被打开(我遇到的情况),是因为文件内容还有文件头,有些应用程序会根据文件头中的信息来判断文件的格式(比如windows自带的照片查看器)而不是通过后缀名。所以切实有效的方式还是通过格式转换软件来转换格式。


应用python PIL包的Image模块将图片重新转换格式为jpg(彻底转换格式,而不是只改后缀)
(当然如果只需要几张图的话,直接用画图打开另存jpg格式就好了)
img = Image.open(file_path+'/'+files[j]).convert('RGB')
img.save(file_path+'/'+files[j]


注意要有个convert('RGB'),不然报错OSError: cannot write mode P as JPEG


恩困扰了我快一个小时 = =

猜你喜欢

转载自blog.csdn.net/ll523587181/article/details/79611828