matplotlib 入门之Image tutorial

时间:2022-10-07 20:10:05

matplotlib教程学习笔记

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np

载入图像为ndarray

img = mpimg.imread("ccc.png")
print(img.shape)  #(4160,2336, 4)#RGBA?
print(img)  #ndarray

显示图像

imgplot = plt.imshow(img)

matplotlib 入门之Image tutorial

调取各个维度

fig, (ax1, ax2, ax3, ax4) = plt.subplots(1, 4, figsize=(10, 30),sharey=True)
ax1.imshow(img[:, :, 0])
ax2.imshow(img[:, :, 1])
ax3.imshow(img[:, :, 2])
ax4.imshow(img[:, :, 3])

matplotlib 入门之Image tutorial

利用cmp

lum_img = img[:, :, 2]
plt.imshow(lum_img, cmap="hot")

matplotlib 入门之Image tutorial

imgplot = plt.imshow(lum_img)
imgplot.set_cmap('nipy_spectral')
imgplot = plt.imshow(lum_img)
plt.colorbar() #添加标度

matplotlib 入门之Image tutorial

获得像素点的RGB的统计

plt.hist(lum_img.ravel(), bins=256, range=(0.0, 1.0), fc='k', ec='k')

matplotlib 入门之Image tutorial

通过clim来限定rgb

imgplot = plt.imshow(lum_img, clim=(0.3, 0.7))

matplotlib 入门之Image tutorial

标度在下方

fig = plt.figure()
a = fig.add_subplot(1, 2, 1)#mnk
imgplot = plt.imshow(lum_img)
a.set_title('Before')
plt.colorbar(ticks=[0.1, 0.3, 0.5, 0.7], orientation='horizontal') #水平放置的colorbar 位置
a = fig.add_subplot(1, 2, 2)
imgplot = plt.imshow(lum_img)
imgplot.set_clim(0.0, 0.7)
a.set_title('After')
plt.colorbar(ticks=[0.1, 0.3, 0.5, 0.7], orientation='horizontal')

matplotlib 入门之Image tutorial

插值,马赛克,虚化

from PIL import Image

img = Image.open('C:/Users/pkavs/Desktop/ccc.png')
img.thumbnail((64, 64), Image.ANTIALIAS)  # resizes image in-place
imgplot = plt.imshow(img)
imgplot = plt.imshow(img, interpolation="nearest")
imgplot = plt.imshow(img, interpolation="bicubic")

matplotlib 入门之Image tutorial

matplotlib 入门之Image tutorial

matplotlib 入门之Image tutorial