Opencv之读取图像、显示图像、保存图像
代码将在最终展示
读取图像
cv.imread(参数1,参数2) 读取一张图片
参数1 : 图片的源文件应该保存在该目录下,或者提供图片的完整路径
参数2:可以选择以什么色彩的格式展示自己的图片
cv.IMREAD_COLOR :加载彩色图片,也是默认标志,可以用 1 代替 cv.IMREAD_COLOR
cv.IMREAD_GRAYSCALE :以灰度模式显示图片,可以用0代替cv.IMREAD_GRAYSCALE
cv.IMREAD_UNCHANGED : 加载图像,这包括了alpha通道,可以用 -1 代替 cv.IMREAD_UNCHANGED
显示图像
cv.imshow(参数1,参数2) : 显示图像,窗口自适应图像的大小
参数1:窗口的名称,这个可以随便选取
参数2:需要展示的图片的变量名称
cv.imshow() :一般情况下会配合以下代码使用,用来展示图像
cv.imshow('image',img)
cv.waitKey(0) #以毫秒为时间单位,若参数是0则代表停滞
cv.destroyAllWindows()
显示图像时,可以使用cv.nameWindow(参数1,参数2) ,该函数主要功能就是可以对窗口进行动态调整
保存图像
cv.imwrite(参数1,参数2) :一般用于保存图片,其中有两个参数
参数1:照片你想保存的名称是什么?,后缀可以是.png .jpg .bmp等等
参数2:保存图像的变量名,一般都是上边希望保存的图像的变量名
以上三部分的代码,代码实现过程如下:
//该代码中的图片可以网上随便copy
本文大体要做出来的东西:
"""
1.读取一张图片
2.显示这张图片的灰度图,并进行做到动态拉伸图片,让图片显示的更加灵动
3.如果键盘输入的是esc则不存取图片退出,如果键盘输入s则将图片的格式存取在文件中并退出
"""
import cv2 as cv
import numpy as np
img = cv.imread('img.png',cv.IMREAD_GRAYSCALE)
cv.namedWindow('image',cv.WINDOW_NORMAL)
cv.imshow('image',img)
k=cv.waitKey(0)
if k == 27: #ESC退出
cv.destroyAllWindows()
elif k == ord('s'): #’s‘保存退出
cv.imwrite('gray_image.png',img)
cv.destroyAllWindows()
Matplotlib 的使用
首先导入包
form matplotlib import pyplot as plt
matplotlib 是一个Python的绘图库,提供了丰富多样的绘图函数
opencv加载图像采用的是BGR,而Matplotlib显示采用RGB
"""
采用matplotlib 读取图片
"""
from matplotlib import pyplot as plt
import cv2 as cv
import numpy as np
img = cv.imread('img.png',0)
plt.imshow(img,cmap='gray', interpolation='bicubic')
plt.show()