Python | Trabalhar com imagens PNG usando Matplotlib
Matplotlib é uma biblioteca de visualização incrível em Python para gráficos 2D de matrizes. Matplotlib é uma biblioteca de visualização de dados multiplataforma construída em arrays NumPy e projetada para funcionar com a pilha SciPy mais ampla. Foi introduzido por John Hunter no ano de 2002.
Um dos maiores benefícios da visualização é que nos permite acesso visual a grandes quantidades de dados em visuais de fácil digestão. Matplotlib consiste em vários gráficos como linha, barra, dispersão, histograma, etc.
Neste artigo, veremos como podemos trabalhar com imagens PNG usando Matplotlib.
Código # 1: Leia uma imagem PNG usando Matplotlib
import
matplotlib.pyplot as plt
import
matplotlib.image as img
im
=
img.imread(
'imR.png'
)
plt.imshow(im)
Resultado:
Código 2: Aplicando pseudocolor à imagem
Pseudocolor é útil para melhorar o contraste da imagem.
import
matplotlib.pyplot as plt
import
matplotlib.image as img
im
=
img.imread(
'imR.png'
)
lum
=
im[:, :,
0
]
plt.imshow(lum)
Resultado:
Código # 3: Podemos fornecer outro valor para o mapa de cores com a barra de cores.
import
matplotlib.pyplot as plt
import
matplotlib.image as img
im
=
img.imread(
'imR.png'
)
lum
=
im[:, :,
0
]
plt.imshow(lum, cmap
=
'hot'
)
plt.colorbar()
Resultado:
Esquemas de interpolação: A
interpolação calcula qual a cor ou valor de um pixel “deveria” ser e isso é necessário quando redimensionamos a imagem, mas queremos as mesmas informações. Há falta de espaço ao redimensionar a imagem porque os pixels são discretos e a interpolação é a forma como você preenche esse espaço.
Código # 4: Interpolação
from
PIL
import
Image
import
matplotlib.pyplot as plt
img
=
Image.
open
(
'imR.png'
)
img.thumbnail((
50
,
50
), Image.ANTIALIAS)
imgplot
=
plt.imshow(img)
Resultado:
Código # 6: Aqui, o valor 'bicúbico' é usado para interpolação.
import
matplotlib.pyplot as plt
from
PIL
import
Image
img
=
Image.
open
(
'imR.png'
)
img.thumbnail((
30
,
30
), Image.ANTIALIAS)
imgplot
=
plt.imshow(img, interpolation
=
'bicubic'
)
Resultado:
Código # 7: o valor 'sinc' é usado para interpolação.
from
PIL
import
Image
import
matplotlib.pyplot as plt
img
=
Image.
open
(
'imR.png'
)
img.thumbnail((
30
,
30
), Image.ANTIALIAS)
imgplot
=
plt.imshow(img, interpolation
=
'sinc'
)
Saída:
Referência: https://matplotlib.org/gallery/images_contours_and_fields/interpolation_methods.html
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva