栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【数字图像处理与python】用OpenCV读取、保存、显示图片(显示图片时窗口显示到关闭的时间间隔设置方法),解决OpenCV不能正常读取带有中文路径的图片的问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数字图像处理与python】用OpenCV读取、保存、显示图片(显示图片时窗口显示到关闭的时间间隔设置方法),解决OpenCV不能正常读取带有中文路径的图片的问题

##用OpenCV读取图片时,如果路径里都是英文,就用正常方法读取保存显示

import cv2 as cv

# 如果路径里面有中文,不能用cv来读取
img = cv.imread('./图片/lena.tif')

# 打印符号0的数
print(img[0,0]) #OpenCV读取规则:蓝色在前,绿色在之间,红色在最后【125 137 226】 【226 137 125】

# 保存文件
cv.imwrite('lena_gray_cv.jpg',img)

# 显示窗口,第一个参数是窗口名字,第二个是借助参数导入数据
cv.imshow('Lena',img)
# 等待键盘输入,单位毫秒。如果数字填的是0,就是无限数值的等
cv.waitKey(2000)
# 关闭指定窗口
cv.destroyAllWindows('lena')
# 结合以上三层代码,就会出现这张情况:运行代码-窗口显示-5秒之后窗口自动关闭

##用OpenCV读取图片时,如果路径里有中文,需要用导入新的包,保存方法也变一下

# 即使路径里面有中文,也可以用OpenCV读取的 方法
import cv2 as cv
# 导一个新的包
import numpy as np
# np支持中文路径,dtype是数据类型,np.uint8是无符号整数
# 第二个参数为8时,以灰度图格式读入。1为彩色图。
img = cv.imdecode(np.fromfile('图片/lena.tif', dtype=np.uint8),0)
print(img[0,0]) # 162
# # 遇事不决,可以print打印一下,在这里就可以发现这是个元组
# print(cv.imencode('.jpg',img))

# 路径是中文时,用cv保存的方法
# 后面的[1].tofile可以把编码整成文件
cv.imencode('.jpg',img)[1].tofile('图片/lena_gray_cv.jpg')

cv.imshow('Lena',img)
cv.waitKey(0)
cv.destroyAllWindows() # 关闭所有窗口
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980569.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号