写点什么

python 实现读取并显示图片的两种方法,15 分钟的字节跳动视频面试

作者:程序媛可鸥
  • 2022 年 3 月 17 日
  • 本文字数:1026 字

    阅读完需:约 3 分钟

plt.imshow(gray, cmap='Greys_r')


plt.axis('off')


plt.show()


4.对图像进行放缩


这里要用到 scipy


'''


遇到问题没人解答?小编创建了一个 Python 学习交流 QQ 群:778463939


寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和 PDF 电子书!


'''


from scipy import misc


lena_new_sz = misc.imresize(lena, 0.5)

第二个参数如果是整数,则为百分比,如果是 tuple,则为输出图像的尺寸

plt.imshow(lena_new_sz)


plt.axis('off')


plt.show()


5.保存图像


5.1 保存 matplotlib 画出的图像


该方法适用于保存任何 matplotlib 画出的图像,相当于一个 screencapture。


plt.imshow(lena_new_sz)


plt.axis('off')


plt.savefig('lena_new_sz.png')


5.2 将 array 保存为图像


from scipy import misc


misc.imsave('lena_new_sz.png', lena_new_sz)


5.3 直接保存 array


读取之后还是可以按照前面显示数组的方法对图像进行显示,这种方法完全不会对图像质量造成损失


np.save('lena_new_sz', lena_new_sz) # 会在保存的名字后面自动加上.npy


img = np.load('lena_new_sz.npy') # 读取前面保存的数组

二、PIL

1. 显示图片


'''


遇到问题没人解答?小编创建了一个 Python 学习交流 QQ 群:778463939


寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和 PDF 电子书!


'''


from PIL import Image


im = Image.open('lena.png')


im.show()


2. 将 PIL Image 图片转换为 numpy 数组


im_array = np.array(im)

也可以用 np.asarray(im) 区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝

3. 保存 PIL 图片


直接调用 Image 类的 save 方法


from PIL import Image


I = Image.open('lena.png')


I.save('new_lena.png')


4. 将 numpy 数组转换为 PIL 图片


这里采用 matplotlib.image 读入图片数组,注意这里读入的数组是 float32 型的,范围是 0-1,而 PIL.Image 数据是 uinit8 型的,范围是 0-255,所以要进行转换:


'''


遇到问题没人解答?小编创建了一个 Python 学习交流 QQ 群:778463939


寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和 PDF 电子书!


'''


import matplotlib.image as mpimg


from PIL import Image



现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到 1 套比较全的学习资源之前,我并没着急去看第 1 节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做 1 个学习计划,我的学习计划主要包括规划图和学习进度表。


分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习



用户头像

Python编程资料加Q群免费领取:419829237 2022.03.14 加入

还未添加个人简介

评论

发布
暂无评论
python实现读取并显示图片的两种方法,15分钟的字节跳动视频面试_Python_程序媛可鸥_InfoQ写作平台