opencv学习(1)

版本确认:OpenCV 4.x,Python 3.x

功能:加载图片,显示图片,保存图片

使用OpenCV函数:cv2.imread(),cv2.imshow(),cv2.imwrite()

大家可能都知道电脑上的彩色图是以RGB(红-绿-蓝,Red-Green-Blue)颜色模式显示的,

但OpenCV中彩色图是以B-G-R通道顺序存储的,灰度图只有一个通道。

图像坐标的起始点是在左上角,所以行对应的是y,列对应的是x:

加载图片

使用cv2.imread()读图

import cv2

# 加载灰度图
img = cv2.imread('lena.jpg', 0)

参数1:图片的文件名

当前文件夹下,直接写文件名

否则需要给出绝对路径

参数2:读入方式,省略即采用默认值

cv2.IMREAD_COLOR:彩色图,默认值(1)

cv2.IMREAD_GRAYSCALE:灰度图(0)

cv2.IMREAD_UNCHANGED:包含透明通道的彩色图(-1)

注:路径不能含中文

显示图片

使用cv2.imshow()显示图片

cv2.imshow('lena', img)
cv2.waitKey(0)

参数1:窗口的名字,

参数2:显示的图片

不同窗口之间用窗口名区分,所以窗口名相同就表示是同一个窗口,

cv2.waitKey():让程序暂停,参数是等待时间(毫秒ms)

可以先用cv2.namedWindow()创建一个窗口,之后再显示图片:

# 先定义窗口,后显示图片
cv2.namedWindow('lena2', cv2.WINDOW_NORMAL)
cv2.imshow('lena2', img)
cv2.waitKey(0)

参数1:窗口的名字

参数2:默认是cv2.WINDOW_AUTOSIZE表示窗口大小自适应图片,

也可以设置为cv2.WINDOW_NORMAL表示窗口大小可调整,图片较大,可考虑用后者

保存图片

使用cv2.imwrite()保存图片

cv2.imwrite('lena_gray.jpg', img)

参数1:包含后缀名的文件名

练习1 

打开lena.jpg并显示,如果按下's',就保存图片为'lena_save.bmp',否则就结束程序

import cv2

img = cv2.imread('lena.jpg', 0)
cv2.imshow('lena', img)
k = cv2.waitKey(0)

# ord()获取某个字符的编码
if k == ord('s'):
    cv2.imwrite('lena_save.bmp', img)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值