【OpenCV】P2 保存图像

保存图片可以实现什么效果?保存图片,指定输出格式到指定的文件目录下。

保存图片所使用的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
理工大学图书馆

你可能感兴趣的:(#,【OpenCV】,opencv,python)