opencv中图像读取、显示和保存
这是我在工作中遇到的,网上看到一些关于opencv的图像读取、显示和保存的讲解,以下我将从我的项目代码中讲解opencv中图像读取、显示和保存。
我的项目代码中,关于图像的读取、显示和保存通常与os模块一起用代码如下:
假设路径 C:/0101/test/in 下是15张图片,现在要通过python读取图片,然后该图片保存到路径 C:/0101/test/out 下,最后将该图显示出来。
import os
import cv2
path_in = 'C:/0101/test/in'
path_out = 'C:/0101/test/out'
path_list = os.listdir(path_in)
for image_name in path_list:
iname = os.path.join(path_in, image_name)
image = cv2.imread(iname)
out_name = os.path.join(path_out,image_name)
cv2.imwrite(out_name,image)
cv2.imshow(str(image_name),image)
cv2.waitKey(2000)
cv2.destroyAllWindows()
需要介绍的语法知识如下:
os.listdir()
os.listdir(path_in):将path_in路径下的图片文件名以列表的方式返回
这样就可以通过遍历path_list这个列表去遍历图片
os.path.join()
os.path.join(path_in, image_name):将图片文件名与路径拼接起来
这里iname的值是
cv2.imread(变量1)
image = cv2.imread(iname):是将iname这个图片转换为矩阵形式,这点相当重要,因为python对图片操作就是对图片矩阵进行操作,可以说,image是个图片变量,opencv中只能对图片变量进行操作。
os.path.join(path_out,image_name)
out_name = os.path.join(path_out,image_name):设定要保存的图像路径及位置
cv2.imwrite(变量1,变量2)
cv2.imwrite(out_name,image):将该图片变量以image_name名称保存着out_name路径下
变量1:要保存的路径及图片名称,变量2:图片变量
cv2.imshow(变量1,变量2)
cv2.imshow(str(image_name),image):将image图片变量以image_name窗口名称展示出来
注意:变量1必须是字符串形式,变量2是上面所说的图片变量
cv2.waitKey(1000)
窗口停留,这里是以1000ms停留,就是1s
cv2.destroyAllWindows()
清除所有窗口
文章最后有微信公众号:惟CPP,欢迎关注,一起交流学习进步~