Image 在python PIL库中一些基本的简单用法

一、from PIL import Image

open( ) 函数用于打开一个文件,然后返回结果就是这个文件对应的Image对象

image = Image.open('D:\img_1.png')

 resize( ) 这个方法就是对图像进行缩放,将原本大小的图片缩放为只有28*28个像素点的图像

image = image.resize((28, 28))

 show( ) 这个方法,故名思义就是展示图片,现在展示出来的就是只有28*28个像素点的图片

image.show()

save( ) 这个方法,是用来保存图片的,而且保存的格式由参数的后缀决定,可以通过这个方法将png文件保存为jpg,或者反过来。

image.save("123.jpg")

convert( ) 这个方法,用于改变图像的存储模式。存储模式共有9种,分别是1,L,P,RGBB,RGBA,CMYK,YCbCr,I,F。

image = Image.open('D:\img_1.png',"r").convert("RGB")
image = image.convert("L")

        其中" 1 "是一位像素模式,表示这个像素点是黑还是白。

         "L" 是八位像素,表示一个像素点的灰度。

         "RGB" 是为真色彩模式, 可组合为 256 x 256 x256 种,是比较常见的图片存储模式。

        其余的比较少见,不再赘述,想仔细看的查看下面文章:

https://blog.csdn.net/u013066730/article/details/102832597icon-default.png?t=N7T8https://blog.csdn.net/u013066730/article/details/102832597


二、import numpy as np

Image 类型可以通过函数直接转换为numpy数组,但我们要注意不同模式的Image对象转换而成的数组维度是不一样的,"L"模式下,转换为的是二维数组,"RGB"模式下,转换为的是三维数组。

img = np.array(image)

  Numpy的concatenate( ) 函数是用于将两个或多个数组沿指定轴连接在一起的函数。

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))
#等同于result = np.concatenate((arr1, arr2),axis=0)
print(result)
#结果就是:
#[1 2 3 4 5 6]

 numpy.concatenate((a1, a2, ...), axis=0) 其中a1, a2, … 是参与连接操作的数组。axis 是连接的轴,如果不提供该参数,将默认为0,即沿着第一个轴进行连接。

再举个栗子:在列方向上连接两个数组

arr1 = np.array([[1, 2, 3], [7, 8, 9]])
arr2 = np.array([[4, 5, 6], [10, 11, 12]])
result = np.concatenate((arr1, arr2), axis=1)
print(result)
# 结果就是:
# [[ 1  2  3  4  5  6]
#  [ 7  8  9 10 11 12]]

 但必须注意,当axis=1(在列之间进行连接)时,必须保证连接的不同数组之间的每列的行数数目相同才能够进行连接。当axis=0(在行之间进行连接)时,必须保证连接的不同数组之间的每行的列数相同才能够进行连接。 

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值