【OpenCV中文手册学习-1】图像的读写和窗口显示

1. 图像读取–imread

函数原型

imread(filename,flag=)
# filename : 文件路径
# flag: 读取图像的方式

flag取值

  • cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。对应的整数值为1。
  • cv.IMREAD_GRAYSCALE:以灰度模式加载图像。对应的整数值为0。
  • cv.IMREAD_UNCHANGED:加载图像,包括alpha通道。对应的整数值为-1。

2. 图像写入–imwrite

函数原型

imwrite(filename,img,params=)
# filename : 写入路径
# img : 图像矩阵
# params : 未知

3. 显示图像–imshow

函数原型

imshow(winname,mat)
# winname: 窗口名称
# mat: 图像矩阵

4. 综合小程序

程序功能:用户通过输入1,0或-1指定图像读取方式,读取完图片文件后按s保存图片,Esc退出循环,其他键继续循环。

import cv2 as cv

def test(filepath):
    names = ['color','gray_scale','unchanged']
    values = [1,0,-1]
    flags = dict(zip(names,values))

    while True:
        flag = int(input(f'请从{flags}选择:'))
        img = cv.imread(filepath,flag)
        cv.imshow("image",img)

        k = cv.waitKey(0)
        
        if k == ord('s'):
            cv.imwrite("result.jpg",img)
        cv.destroyWindow("image")

        # 27 -- Esc按键
        if k == 27:
            break

if __name__ == "__main__":
    test("imgs/lena.jpg")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值