保存图片可以实现什么效果?保存图片,指定输出格式到指定的文件目录下。
保存图片所使用的API为 cv2.imwrite(name,img)
import cv2
img = cv2.imread("../volvo_xc90.jpg")
cv2.imwrite(r"D:\learn_Code\OpenCV\test\temp.png",img)
复杂一点的代码,比如我们希望实现当键盘单击 “s” 键的时候实现图片的保存,怎么做?
import cv2
img = cv2.imread("../volvo_xc90.jpg")
while(True):
cv2.imshow("Volvo XC90", img)
input_key = cv2.waitKey(0)
# 判断输入是否为s键
if input_key == ord("s"):
cv2.imwrite(r"D:\learn_Code\OpenCV\test\temp.png",img)
break
cv2.destroyAllWindows()
实现效果:当且仅当键盘输入 “s” 键时,图片保存到指定路径地址,名称并退出。
共性问题:
1、为什么我指定的绝对路径地址下没有输出的图片?
2、为什么我的代码中绝对路径地址部分出现黄色字样?(如下图所示)
当在程序中输出绝对路径地址时,最需要注意的是程序会将绝对路径地址识别为转义字符,大家在之前学习C语言基础的时就接触过比如 \n 是换行字符,\t 是缩进字符,所以当绝对路径地址中出现比如\t的字样或者\n的字样时,会发生错误,从而无法实现图片输出到指定路径的效果。
解决方案:
解决方案1:将单 \ 换成双 \,即:
cv2.imwrite("D:\\learn_Code\\OpenCV\\test\\temp.png",img)
解决方案2:在路径地址前加一个 “r”,含义为保持路径字符原始值,不对其中的符号进行转义。
cv2.imwrite(r"D:\learn_Code\OpenCV\test\temp.png",img)
2022.11.1
理工大学图书馆