美文网首页
上手OpenCV_GUI-L01-图片

上手OpenCV_GUI-L01-图片

作者: 全栈顾问 | 来源:发表于2019-06-10 15:13 被阅读0次

目标

  1. 学习读取、显示、保存图片;
  2. 涉及到3个函数cv2.imread(),cv2.imshow(),cv2.imwrite();
  3. 学习用Matplotlib显示图片。

使用OpenCV

读取图片

imread函数有两个参数,第1个参数是图片的路径,第2个参数是图片的读取方式,可选值包括:

  • cv2.IMREAD_COLOR(1):读入彩色图片,忽略图片的透明度。
  • cv2.IMREAD_GRAYSCALE(0): 读入灰度图片。
  • cv2.IMREAD_UNCHANGED(-1): 读入时包括透明(alpha)通道。
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('01.jpeg',0)

显示图片

使用函数cv2.imshow()在窗口中显示图片,窗口自动适应图片大小。第1个参数是个字符串作为窗口的名字,第2个参数是通过imread()得到的图形对象。窗口的名称不能重复。

cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

cv2.waitKey()用于等待键盘输入。参数是等待键盘输入的时间,单位是毫秒(milliseconds)。这个时间内按任意键,程序将继续执行。如果传入0,则一直等待键盘输入。

cv2.destroyAllWindows()销毁所有窗口,或者用cv2.destroyWindow(name)销毁指定的窗口。

保存图片

用cv2.imwrite()函数保存图片。第1个参数是保存图片的文件名,第2个参数是图片对象。

cv2.imwrite('01-gray.png',img)

代码整合

# coding: utf-8
import numpy as np
import cv2 as cv

# 准备任意1张图片
img = cv.imread('01.jpeg', cv.IMREAD_GRAYSCALE)
cv.imshow('image', img)
k = cv.waitKey(0)
if k == 27:         # wait for ESC key to exit
    cv.destroyAllWindows()
elif k == ord('s'):  # wait for 's' key to save and exit
    cv.imwrite('01-gray.png', img)
    cv.destroyAllWindows()

使用Matplotlib

Matplotlib是python的一个绘图库。

# coding: utf-8
import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt

img = cv.imread('01.jpeg', cv.IMREAD_GRAYSCALE)
plt.imshow(img, cmap='gray', interpolation='bicubic')
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

资料

上手OpenCV-目录

相关文章

网友评论

      本文标题:上手OpenCV_GUI-L01-图片

      本文链接:https://www.haomeiwen.com/subject/vjirxctx.html