Como converter uma imagem em um array NumPy e salvá-la em um arquivo CSV usando Python?
Python é uma linguagem de programação poderosa com uma vasta gama de bibliotecas e módulos. Uma dessas bibliotecas é a NumPy, que é usada para computação numérica e processamento de grandes arrays e matrizes multidimensionais. Outra biblioteca popular usada para processamento de imagens em Python é Pillow, que é um fork da Python Imaging Library (PIL).
Neste tutorial, mostraremos como converter uma imagem em um array NumPy e salvá-la em um arquivo CSV usando Python. Estaremos usando a biblioteca Pillow para abrir a imagem e convertê-la em um array NumPy, e o módulo CSV para salvar o array NumPy em um arquivo CSV. Na próxima seção do artigo, abordaremos as etapas necessárias para converter uma imagem em um array NumPy usando a biblioteca Pillow. Então, vamos mergulhar!
Como converter uma imagem em um array NumPy e salvá-la em um arquivo CSV usando Python?
Antes de mergulharmos no processo de conversão de uma imagem em um array NumPy e salvá-la em um arquivo CSV, vamos primeiro entender as duas bibliotecas que usaremos neste tutorial: Pillow e NumPy.
Pillow é uma Python Imaging Library (PIL) que adiciona suporte para abrir, manipular e salvar muitos formatos de arquivo de imagem diferentes.
NumPy é uma biblioteca fundamental para computação científica em Python. Ele fornece suporte para grandes arrays e matrizes multidimensionais, juntamente com uma variedade de funções matemáticas para operar nelas.
Para usar essas bibliotecas, primeiro precisamos instalá-las em nosso sistema. Podemos fazer isso usando pip, o instalador do pacote Python.
Veja como instalar o travesseiro:
pip install Pillow
E aqui está como instalar o NumPy:
pip install numpy
Agora que instalamos as bibliotecas necessárias, vamos para a próxima seção do artigo para converter uma imagem em um array NumPy.
Converter imagem em array NumPy
Considere o código abaixo para converter uma imagem em um array Numpy:
# Import necessary libraries
import csv
from PIL import Image
import numpy as np
# Open image using Pillow library
img = Image.open('image.jpg')
# Convert image to NumPy array
np_array = np.array(img)
# Save NumPy array to CSV file
np.savetxt('output.csv', np_array, delimiter=',', fmt='%d')
# Print the shape of the NumPy array
print("Shape of NumPy array:", np_array.shape)
No código acima, primeiro importamos as bibliotecas necessárias csv, PIL e numpy. A biblioteca CSV é usada para ler e gravar arquivos CSV, enquanto a biblioteca PIL é usada para abrir e manipular imagens. A biblioteca NumPy é usada para converter a imagem em um array NumPy.
Em seguida, abrimos um arquivo de imagem chamado image.jpg usando o método Image.open() da biblioteca PIL. O método retorna um objeto Image.
Depois disso, o objeto de imagem foi convertido em um array NumPy usando o método np.array() da biblioteca NumPy. A matriz resultante contém os valores de pixel da imagem. Finalmente, salvamos o array NumPy em um arquivo CSV chamado output.csv usando o método np.savetxt() da biblioteca NumPy. Especificamos o delimitador como ‘,’ e o formato como% d para garantir que os valores no arquivo CSV sejam separados por vírgulas e sejam inteiros.
Por último, imprimimos a forma do array NumPy usando o atributo shape. A forma do array NumPy representa as dimensões do array, que neste caso são altura, largura e número de canais de cores (se aplicável).
A saída do código acima criará um novo arquivo chamado output.csv no mesmo diretório do script, contendo os valores de pixel da imagem em formato CSV e o terminal exibirá algo assim:
Shape of NumPy array: (505, 600, 3)
Aqui, o formato do array NumPy é (505, 600, 3), o que significa que a imagem tem altura e largura de 100 pixels cada e três canais de cores (RGB) por pixel.
É importante observar que o formato do array NumPy depende das dimensões da imagem de entrada. A forma da matriz será (altura, largura, número de canais de cores) se a imagem for colorida e (altura, largura) se a imagem for em tons de cinza.
Conclusão
Neste artigo, aprendemos como converter uma imagem em um array NumPy e salvá-la em um arquivo CSV usando Python. Usamos a biblioteca Pillow para abrir e converter a imagem em um array NumPy e o módulo CSV para salvar o array NumPy em um arquivo CSV. Também cobrimos as etapas necessárias para instalar as bibliotecas necessárias e fornecemos um exemplo de código para cada um dos métodos. É importante observar que o formato do array NumPy depende das dimensões da imagem de entrada, e o formato do array será diferente para imagens coloridas e em tons de cinza. Ao usar esta técnica, podemos facilmente manipular e processar imagens usando a poderosa biblioteca NumPy.