【Python】image.open(image_path)||image = np.array(image)||image = np.array(image)||

发布于:2022-12-26 ⋅ 阅读:(631) ⋅ 点赞:(0)

目录

1. image.open(image_path)

2.image = np.array(image)

3.Opencv 相关延伸 


1. image.open(image_path)

from PIL  import Image

image_path = "/kitchen_0028b/rgb_00045.jpg"
image = image.open(image_path)

image.show()
print(image.size)
  • image_path样式:/kitchen_0028b/rgb_00045.jpg
  • from PIL  import image
  • image = image.open(image_path)
  • image.show()        #打开并确认给定的图像文件
  • print(image.size)   #图片的真实维度:W * H(宽和高)

不难得知,打开的image类型是PIL类型。

2.image = np.array(image)

图像处理中,通常将Image作为数组形式。PIL类型图像的维度是: H * W(高和宽)。

如何查询图像的数组形式?可利用numpy数组形式的格式:image = np.array(image)

import numpy as np

image = np.array(image)
image = np.asarray(image)
print(image.shape)
  • print(image.shape)    #图像的真实:H * W * C格式。
  • array和asarray都可以将结构数据转化为ndarray。

  • 区别:当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,但asarray不会。

 但在Image转Tensor过程中,图片的格式会由: H * W * C的格式转为: C * H * W格式。

3.Opencv 相关延伸 

import cv2
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) # PIL-OPENCV
  •  判断图像数据是否是OpenCV格式
  • 判断image是否为numpy的ndarray数据类型
isinstance(image, np.ndarray)

后续阅读推荐:Python:一张图像在网络中会遇到什么?


网站公告

今日签到

点亮在社区的每一天
去签到