当前位置: 代码迷 >> 综合 >> 【Python3 OpenCV3.3图像处理教程学习笔记01】读入图像+显示图像+保存图像
  详细解决方案

【Python3 OpenCV3.3图像处理教程学习笔记01】读入图像+显示图像+保存图像

热度:87   发布时间:2023-09-22 07:45:22.0

一、函数

读入图像

img = cv2.imread('messi5.jpg',0)

显示图像

cv2.imshow('image',img)

保存图像

cv2.imwrite('messigray.png',img)

二、例程

例程1

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# 01概述与环境搭建# here put the import lib
import cv2 as cvprint("--------- Python OpenCV Tutorial ---------")
src = cv.imread(r"E:/CODE/VSCODE_PY/OpenCV/images/lena.jpg")  # 读入图片
# cv.namedWindow("input image", cv.WINDOW_NORMAL) # 可以调整窗口大小
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)  # 创建一个窗口
cv.imshow("input image", src)  # 将src放入该创建的窗口
cv.waitKey(0)  # 0表示只用键输入结束窗口cv.destroyAllWindows()  # 关闭所有窗口

备注

  • 使用到的函数是cv.namedWindow()。初始设定函数标签是cv.WINDOW_AUTOSIZE,但是标签改成cv.WINDOW_NORMAL,可以调整窗口大小。当图像维度太大, 或者要添加轨迹条时,调整窗口大小将会很有用
  • cv.waitKey() 是一个键盘绑定函数。
    • 需要指出的是它的时间尺度是毫秒级。函数等待特定的几毫秒,看是否有键盘输入。
    • 特定的几毫秒之内,如果按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为-1
    • 如果我们设置这个函数的参数为 0,那它将会无限期的等待键盘输入。
    • 它也可以被用来检测特定键是否被按下,例如按键a 是否被按下。

例程2

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# cv2.waitkey()函数的使用# here put the import lib
import cv2 as cvprint("--------- Python OpenCV Tutorial ---------")
src = cv.imread(r"E:/CODE/VSCODE_PY/OpenCV/images/lena.jpg")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
keycode = cv.waitKey(1000)
print(keycode)
cv.destroyAllWindows()

图片只显示1秒,在此期间按下a键,打印97;图片显示期间,没有按下任意键,则打印-1
【Python3 OpenCV3.3图像处理教程学习笔记01】读入图像+显示图像+保存图像 cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果你想删除特定的窗口可以使用cv2.destroyWindow(),在括号内输入你想删除的窗口名。

例程3

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# 下面的程序将会加载一个图片,显示图片,按下’s’键保存为灰度图像后退出,或者按下ESC 键退出不保存。# here put the import lib
import cv2 as cvimg = cv.imread(r"E:/CODE/VSCODE_PY/OpenCV/images/lena.jpg")
cv.imshow("input image", img)
keycode = cv.waitKey(0) & 0xff
if keycode == 27:cv.destroyAllWindows()
elif keycode == ord('s'):output_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)cv.imwrite(r"E:/CODE/VSCODE_PY/OpenCV/images/output_img.png", output_img)cv.destroyAllWindows()

输出的灰度图像为:
【Python3 OpenCV3.3图像处理教程学习笔记01】读入图像+显示图像+保存图像
参考:OpenCV官方教程中文版(For Python)

  相关解决方案