Python - OpenCV - 图像处理的基本操作

图像处理的基本操作

读取图像

使用函数 imread(filename[, flags]) 从指定的文件加载一张图像:

import cv2

image = cv2.imread("D:/E/Pictures/Winter Soldier.png")

print(image)

运行上述程序后,控制台会输出图像的部分像素值:

[[[197 196 192]
  [197 196 192]
  [198 197 193]
  ...
  [ 82  51  58]
  [ 82  51  58]
  [ 82  51  58]]

 [[197 196 192]
  [197 196 192]
  [198 197 193]
  ...
  [ 79  48  55]
  [ 79  48  55]
  [ 79  48  55]]

 [[197 196 192]
  [197 196 192]
  [197 196 192]
  ...
  [ 77  47  52]
  [ 77  47  52]
  [ 77  47  52]]

 ...

 [[ 23  25  25]
  [ 29  31  31]
  [ 48  50  50]
  ...
  [ 56  50  51]
  [ 57  51  52]
  [ 58  52  53]]

 [[ 22  24  24]
  [ 31  33  33]
  [ 50  52  52]
  ...
  [ 55  49  50]
  [ 56  50  51]
  [ 57  51  52]]

 [[ 24  26  26]
  [ 34  36  36]
  [ 53  55  55]
  ...
  [ 54  48  49]
  [ 55  49  50]
  [ 56  50  51]]]

显示图像

显示一张图像

函数 namedWindow(winname[, flags]) 用于创建一个窗口。

函数 imshow(winname, mat) 用于在指定的窗口中显示一张图像。

函数 waitKey([delay]) 用于等待按下按键,这个函数和显示图像无关,但是,如果不使用它,我们将看到窗口一闪而过。

import cv2

image = cv2.imread("D:/E/Pictures/lena.bmp")

cv2.namedWindow("Hello")
cv2.imshow("Hello", image)

cv2.waitKey()  # 无限等待一个按键事件

运行上述程序后,出现如下窗口:

在这里插入图片描述

显示两张张图像

其实,可以直接使用函数 imshow(winname, mat) 创建窗口,并显示图像。

import cv2

image = cv2.imread("D:/E/Pictures/lena.bmp")

# cv2.namedWindow("Hello")
cv2.imshow("Hello1", image)  # 创建第一个窗口,并显示图像
cv2.imshow("Hello2", image)  # 创建第二个窗口,并显示图像
cv2.waitKey()  # 无限等待一个按键事件

在这里插入图片描述

销毁指定窗口和所有窗口

函数 destroyWindow(winname) 用于销毁指定名称的窗口。

函数 destroyAllWindows() 用于销毁所有窗口。

import cv2

image = cv2.imread("D:/E/Pictures/lena.bmp")

cv2.imshow("Hello1", image)
cv2.imshow("Hello2", image)

key = cv2.waitKey()  # 无限等待一个按键事件

print(chr(key))  # chr(i): Return the string representing a character whose Unicode code point is the integer i.

if key == ord("1"):  # ord(c): Given a string representing one Unicode character, return an integer representing the Unicode code point of that character.
    cv2.destroyWindow("Hello1")
elif key == ord("2"):
    cv2.destroyWindow("Hello2")
else:
    cv2.destroyAllWindows()

cv2.waitKey(1000)  # 等待一个按键事件,如果超过 1000 毫秒,则退出等待,继续往下执行

print("End")

保存图像

函数 imwrite(filename, img[, params]) 用于保存图像到指定的文件。

import cv2

image = cv2.imread("D:/E/Pictures/lena.bmp")
result = cv2.imwrite("D:/E/Pictures/lena2.bmp", image)

print(result)

参考

Introduction to OpenCV-Python Tutorials

OpenCV - Image file reading and writing - imread()

OpenCV - High-level GUI - namedWindow()

OpenCV - High-level GUI - imshow()

OpenCV - High-level GUI - waitKey([, delay])

OpenCV - High-level GUI - destroyWindow()

OpenCV - High-level GUI - destroyAllWindows()

OpenCV - High-level GUI - imwrite()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值