本文概述
OpenCV读取图像
OpenCV允许我们对图像执行多种操作, 但是这样做必须读取图像文件作为输入, 然后我们才能对其执行各种操作。 OpenCV提供以下用于读取和写入图像的功能。
OpenCV读功能
imread()函数从指定的文件加载图像并返回它。语法为:
cv2.imread(filename[, flag])
参数:
filename:要加载的文件名
flag:该标志指定加载图像的颜色类型:
- CV_LOAD_IMAGE_ANYDEPTH-如果将其设置为标志, 则当输入具有相应深度时它将返回16位/ 32位图像, 否则将其转换为8位。
- CV_LOAD_IMAGE_COLOR-如果我们将其设置为标志, 它将始终将转换后的图像恢复为原色。
- C V_LOAD_IMAGE_GRAYSCALE-如果我们将其设置为标志, 它将始终将图像转换为灰度。
如果由于不支持的文件格式, 缺少的文件, 不支持的格式或无效的格式而无法读取图像, 则imread()函数将返回一个矩阵。当前, 支持以下文件格式。
窗口位图-* .bmp, *。dib
JPEG文件-* .jpeg, *。jpg, *。jpe
便携式网络图形-* .png
便携式图像格式-* .pbm, *。pgm, *。ppm
TIFF文件-* .tiff, *。tif
注意:彩色图像, 解码图像将具有按BGR顺序存储的通道。
让我们考虑以下示例:
#importing the opencv module
import cv2
# using imread('path') and 0 denotes read as grayscale image
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\cat.jpeg', 1)
#This is using for display the image
cv2.imshow('image', img)
cv2.waitKey(3) # This is necessary to be required so that the image doesn't close immediately.
#It will run continuously until the key press.
cv2.destroyAllWindows()
输出:它将显示以下图像。
OpenCV保存图像
OpenCV imwrite()函数用于将图像保存到指定文件。文件扩展名定义图像格式。语法如下:
cv2.imwrite(filename, img[, params])
参数:
filename-要加载的文件名
image-要保存的图像。
params-当前支持以下参数:
- 对于JPEG, 质量可以从0到100。默认值为95。
- 对于PNG, 质量可以是0到9的压缩级别。默认值为1。
- 对于PPM, PGM或PBM, 它可以是二进制格式标志0或1。默认值为1。
让我们考虑以下示例:
import cv2
# read image as grey scale
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\cat.jpeg', 1)
# save image
status = cv2.imwrite(r'C:\Users\DEVANSH SHARMA\cat.jpeg', 0, img)
print("Image written to file-system : ", status)
输出
Image written to file-system : True
如果imwrite()函数返回True, 则表示文件已成功写入指定的文件中。