Image与cv2

这篇博客介绍了如何使用OpenCV和PIL库进行图像读取、保存以及两者之间的格式转换。涉及的关键操作包括cv2.imread()、cv2.imshow()、cv2.imwrite()函数以及Image.open()、Image.save()方法。同时,文章讲解了如何将从cv2转换到Image,以及从Image转换回cv2的步骤,强调了BGR与RGB颜色模式的区别。
摘要由CSDN通过智能技术生成

https://www.cnblogs.com/shizhengwen/p/8719062.html

cv2图片打开与保存

# 读取图片
cv2.imread(image_path)
# (图片存放路径,处理后的图片),在保存时应注意加后缀(.jpg)
cv2.imwrite(new_path, new_image)

(1)读入图像:
使用函数cv2.imread(filepath,flags)读入一副图片

  • filepath:要读入图片的完整路径
  • flags:读入图片的标志
    cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
    cv2.IMREAD_GRAYSCALE:读入灰度图片
    cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道

注:cv2会把图片变成np.ndarray()格式,且默认读取三通道的图片

cv2.imread(image, 0)  # 读取灰度图
cv2.imread(image, 1)  # 读取三通道图片,默认使用此格式

(2)使用函数cv2.imshow(wname,img)显示图像,

  • 第一个参数是显示图像的窗口的名字
  • 第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小

(3)使用函数cv2.imwrite(file,img,num)保存一个图像。

  • 第一个参数是要保存的文件名。
  • 第二个参数是要保存的图像。
  • 可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.

Image图片打开与保存

# 读取图片
image = Image.open(image_path)
# 保存图片
image.save("./results/image_save_20200509.jpg")
cv2与Image的格式转换:

opencv读取到的数据是BGR格式,在展示时可以使用[:,:,::-1]调整颜色
Image读取到的数据是RGB格式

(1)cv2转Image

import cv2
from PIL import Image
#img为之前使用cv2读取的图片数据
img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

(2)Image转cv2

import cv2
from PIL import Image
#img1为之前使用Image读取的图片数据
img1 = cv2.cvtColor(np.array(img1), cv2.COLOR_RGB2BGR)

注意:在使用np做类型转换时,

如:np.mean(left_eye, axis=0).astype(“int”)
该类型为np.int32,再后续处理时需注意是否需要将其转为int类型

两个库读取到的图片shape皆为(width,height,channel)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值