1. 图像处理基本操作

import numpy as np
import cv2

1.2.1 读取图像

retval = cv2.imread( filename[, flags] )
  1. retval 是返回值,其值是读取到的图像。如果未读取到图像,则返回“None”.
  2. filename 表示要读取的图像的完整文件名。
  3. flags 是读取标记。该标记用来控制读取文件的类型,具体如表 1-1 所示。表 1-1 中的第一列参数与第三列数值是等价的。例如 cv2. IMREAD_UNCHANGED=−1,在设置参数 时,既可以使用第一列的参数值,也可以采用第三列的数值。
lena = cv2.imread("/Users/zhaofeier/Desktop/lenna.bmp")
print(lena)

1.2.2 显示图像

1. namedWindow函数

函数 cv2.namedWindow()用来创建指定名称的窗口,其语法格式为:
None = cv2.namedWindow( winname )
式中,winname 是要创建的窗口的名称。 例如,下列语句会创建一个名为 lesson 的窗口: cv2.namedWindow(“lesson”)

2. imshow函数

函数 cv2.imshow()用来显示图像,其语法格式为:
None = cv2.imshow( winname, mat )
式中:

  • winname 是窗口名称。
  • mat 是要显示的图像。
cv2.namedWindow("lesson")
cv2.imshow("lesson",lena)

3. waitKey函数

函数 cv2.waitKey()用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值。 其语法格式为:
retval = cv2.waitKey( [delay] )
式中:

  • retval 表示返回值。如果没有按键被按下,则返回−1;如果有按键被按下,则返回该按 键的 ASCII 码。
  • delay 表示等待键盘触发的时间,单位是 ms。当该值是负数或者零时,表示无限等待。 该值默认为 0。
import cv2
lena = cv2.imread("/Users/zhaofeier/Desktop/lenna.bmp")
cv2.imshow("lesson",lena)

key = cv2.waitKey()
if key == ord('A'):
    cv2.imshow("PressA",lena)
elif key == ord('B'):
    cv2.imshow("PressB",lena)
elif key != -1:
    print("触发了按键")
  • 如果按下的是键盘上的 A 键,则新出现的窗口名称为 PressA
  • 如果按下的是键盘上的 B 键,则新出现的窗口名称为 PressB

4. destroyWindow函数

函数 cv2.destroyWindow()用来释放(销毁)指定窗口,其语法格式为:
None = cv2.destroyWindow( winname )
其中,winname 是窗口的名称。

import cv2
lena = cv2.imread("/Users/zhaofeier/Desktop/lenna.bmp")
cv2.imshow("lesson",lena)
cv2.waitKey()
cv2.destroyWindow("lesson")

运行上述程序,首先会在一个名为 demo 的窗口内显示 lena.bmp 图像。在程序运行的过程 中,当未按下键盘上的按键时,程序没有新的状态出现;当按下键盘上的任意一个按键后,窗 口 demo 会被释放。

5.destroyAllWindows函数

函数 cv2.destroyAllWindows()用来释放(销毁)所有窗口,其语法格式为:
None = cv2.destroyAllWindows( )

import cv2
lena = cv2.imread("/Users/zhaofeier/Desktop/lenna.bmp")
cv2.imshow("demo1", lena )
cv2.imshow("demo2", lena )
cv2.waitKey()
cv2.destroyAllWindows()

运行上述程序,会分别出现名称为 demo1 和 demo2 的窗口,在两个窗口中显示的都是 lena.bmp 图像。在未按下键盘上的按键时,程序没有新的状态出现;当按下键盘上的任意一个 按键后,两个窗口都会被释放

1.2.3 保存图像

OpenCV 提供了函数 cv2.imwrite(),用来保存图像,该函数的语法格式为:
retval = cv2.imwrite( filename, img[, params] )
式中:

  • retval 是返回值。如果保存成功,则返回逻辑值真(True);如果保存不成功,则返回逻 辑值假(False)。
  • filename 是要保存的目标文件的完整路径名,包含文件扩展名。
  • img 是被保存图像的名称。
  • params 是保存类型参数,是可选的。
import cv2
lena = cv2.imread("/Users/zhaofeier/Desktop/lenna.bmp")
r = cv2.imwrite("result.bmp",lena)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮棂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值