【OpenCV】03.保存读取图片

Posted on Sep 12, 2022

OpenCV 读取图片

我们可以通过 OpenCV 对图片进行操作,首先得打开一个图片文件。OpenCV 通过以下函数读取和写入图片文件。

OpenCV imread 函数

imread() 函数用于加载图片。语法如下:

cv2.imread(filename[,flag])  

参数

filename: 待加载文件名。

flag: 指明图片的颜色类型。

  • CV_LOAD_IMAGE_ANYDEPTH 返回 16/32 位色深的图片,或者转换成 8 位色深。
  • CV_LOAD_IMAGE_COLOR 返回转换色深后的图片。
  • CV_LOAD_IMAGE_GRAYSCALE 转换为灰阶模式。

如果图片格式错误或图片文件未找到, imread() 将会返回一个矩形。imread() 支持以下格式。

*.bmp,*.dib, *.jpg,*.jpeg,*.jpe *.png,*.pgm,*.ppm,*.pbm,*.tiff,*.tif

来看看下面这个例子:

#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-reading-images

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,表明写入成功。