Python中读取,显示,保存图片的方法

Posted 珠峰上吹泡泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中读取,显示,保存图片的方法相关的知识,希望对你有一定的参考价值。

一 opencv

import cv2 as cv
# load 
img = cv.imread(imagepath)
# shape=(height, width, channel)
h,w,c = img.shape
# show
cv.imshow(window_title, img)
# save
cv.imwrite(savepath, img)

二 matplotlib

import matplotlib.pyplot as plt # plt 用于显示图片
import matplotlib.image as mpimg # mpimg 用于读取图片
import numpy as np

# load
img = mpimg.imread(dog.jpg) 
# 此时 img 就已经是一个 np.array 了,可以对它进行任意处理
# height, width, channel=(360, 480, 3)
h,w,c = img.shape 

# show
plt.imshow(img) # 显示图片
plt.axis(off) # 不显示坐标轴
plt.show()

# save
# 适用于保存任何 matplotlib 画出的图像,相当于一个 screencapture
plt.savefig(fig_dog.png)

注:

(1)plt.imshow(image)中的图片的数据类型可以使np.array类型

         imshow()函数格式为:matplotlib.pyplot.imshow(Xcmap=None)

         X: 要绘制的图像或数组。

         cmap: 颜色图谱(colormap), 默认绘制为RGB(A)颜色空间。

         其它可选的颜色图谱如下列表:

颜色图谱描述
autumn 红-橙-黄
bone 黑-白,x线
cool 青-洋红
copper 黑-铜
flag 红-白-蓝-黑
gray 黑-白
hot 黑-红-黄-白
hsv hsv颜色空间, 红-黄-绿-青-蓝-洋红-红
inferno 黑-红-黄
jet 蓝-青-黄-红
magma 黑-红-白
pink 黑-粉-白
plasma 绿-红-黄
prism  红-黄-绿-蓝-紫-...-绿模式
spring 洋红-黄
summer 绿-黄
viridis 蓝-绿-黄
winter 蓝-绿

         用的比较多的有gray,jet等,如:

plt.imshow(image,plt.cm.gray)

plt.imshow(img,cmap=plt.cm.jet)

(2)mpimg 既提供了加载图像函数imread,又提供了保存图像函数imsave

(3) plt.savefig函数 可以将显示在fig中图像保存下来

 延伸:图像缩放显示

from scipy import misc
lena_new_sz = misc.imresize(img, 0.5) # 第二个参数如果是整数,则为百分比,如果是tuple,则为输出图像的尺寸
plt.imshow(img_new_sz)
plt.axis(off)
plt.show()

三  PIL

PIL加载显示图像有两种方法:

其一:

from PIL import Image
# load
im = Image.open(cat.jpg)

# show
im.show()

"""
# 返回 image‘s size w,h = (480, 360)
w,h = img.size

# PIL.JpegImagePlugin.JpegImageFile
type(img)

# 直接调用Image类的save方法
img.save(‘new_cat.png‘)
"""

其二:

from PIL import Image
import matplotlib.pyplot as plt
img=Image.open(/home/wanghao/Pictures/001.jpg)
plt.figure("head")
plt.imshow(img)
plt.show()

参考:https://blog.csdn.net/u010472607/article/details/78855816



以上是关于Python中读取,显示,保存图片的方法的主要内容,如果未能解决你的问题,请参考以下文章

python中读取和保存图片的方法对比

python中读取和保存图片的方法对比

python 读取并显示图片的两种方法

OpenCV--python---图片的读取显示

android开发: EditText中插入的相册图片如何保存在数据库里,查看的时候又如何读取?

C# 图片保存到数据库和从数据库读取图片并显示