图片(显示图片时窗口显示到关闭的时间间隔设置方法),解决OpenCV不能正常读取带有中文路径的图片的问题"/>
【数字图像处理与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() # 关闭所有窗口
更多推荐
【数字图像处理与python】用OpenCV读取、保存、显示图片(显示图片时窗口显示到关闭的时间间隔设置方法),解决OpenCV不能正常读取带有中文路径的图片的
发布评论