Bagaimana cara mengonversi gambar menjadi array dengan python?

Gambar hitam putih biasa direpresentasikan menggunakan matriks. Di mana setiap sel dalam matriks mewakili satu piksel dan warna pikselnya hitam atau putih. Nilai dalam sel mewakili intensitas warna, seperti 0 untuk hitam dan 255 untuk putih. Intensitas warna berubah dengan angka dalam sel. Jadi kita akan membuat array numpy dengan ukuran (144 x 144) dan mengisinya dengan nilai acak antara 0 dan 255. Nanti kita akan mengubah Array NumPy 2D ini menjadi sebuah gambar

Ada beberapa cara untuk mengonversi Array NumPy menjadi gambar dengan Python. Mari kita bahas semua metode satu per satu dengan pendekatan yang tepat dan contoh kode yang berfungsi

Iklan

Konversi NumPy Array ke Gambar menggunakan fromarray() dari perpustakaan bantal

Perpustakaan bantal memiliki modul gambar. Modul gambar ini menyediakan metode fromarray(), untuk mengonversi array menjadi format gambar apa pun. Kami akan membuat Array NumPy 2D dan akan meneruskan array itu ke metode fromarray()

Mari kita lihat sekilas fungsi yang akan kita gunakan dalam contoh ini,

Baca selengkapnya

  • Normalisasikan larik NumPy ke vektor satuan dengan Python
  • Piton. numpy. flatten() - Tutorial Fungsi dengan contoh
  • Piton. Mengonversi array 1D menjadi array atau Matriks Numpy 2D
  • Ubah array NumPy menjadi daftar dengan python

Sintaks randint()

random.randint(low, high=None, size=None, dtype=int)
  • Parameter
    • rendah = nilai terkecil dari angka acak yang akan dihasilkan
    • tinggi = nilai tertinggi dari angka acak yang akan dihasilkan
    • size = Ini menentukan bentuk array numpy yang akan dibuat
    • dtype = tipe data dari array, secara default adalah int
  • Pengembalian
    • Mengembalikan array numpy yang diisi dengan angka acak

Sintaks dari fromarray()

PIL.Image.fromarray(Array)
_
  • Parameter
    • Array = Larik yang perlu diubah menjadi gambar
  • Pengembalian
    • Mengembalikan objek Gambar

Sintaks save()

Image.save(fp)
  • Parameter
    • fp = Nama atau jalur file gambar yang akan disimpan
  • Pengembalian
    • Tidak ada

Pendekatan untuk mengonversi NumPy Array menjadi Gambar

  1. Impor pustaka numpy dan buat larik NumPy 2D menggunakan metode randint()
  2. Lewati array ini ke metode fromarray(). Ini akan mengembalikan objek gambar
  3. Simpan gambar ke sistem file menggunakan metode save()

Kode sumber

from PIL import Image
import numpy as np

# Creating the 144 X 144 NumPy Array with random values
arr = np.random.randint(255, size=(144, 144), dtype=np.uint8)

# Converting the numpy array into image
img  = Image.fromarray(arr)

# Saving the image
img.save("Image_from_array.png")

print(" The Image is saved successfully")

Keluaran

The Image is saved successfully
_

Ini akan membuat file gambar dengan nama “Image_from_array. png” di folder yang sama. File gambar akan seperti ini,

Bagaimana cara mengonversi gambar menjadi array dengan python?
Gambar dibuat dari 2D NumPy Array

Jika Anda mendapatkan kesalahan seperti ini,

ModuleNotFoundError: No module named 'PIL'

Kemudian gunakan perintah berikut untuk menginstal modul bantal,

pip3 install Pillow
_

Konversi NumPy Array ke Gambar menggunakan imsave() dari matplotlib. pyplot

Matplotlib. modul pyplot menyediakan metode imsave() untuk mengonversi array menjadi format gambar apa pun. Buat array numpy dan teruskan array itu ke metode imsave()

Mari kita lihat sekilas fungsi yang akan kita gunakan dalam contoh ini,

Sintaks dari imsave()

matplotlib.pyplot.imsave(fp, Array)
  • Parameter
    • Array = Larik yang perlu diubah menjadi gambar
    • fp = Nama atau jalur untuk menyimpan gambar
  • Pengembalian
    • Tidak ada

Pendekatan untuk mengonversi NumPy Array menjadi Gambar

  1. Impor pustaka numpy dan buat larik NumPy 2D menggunakan metode randint()
  2. Lewati array ini ke metode imsave()
  3. Gambar akan disimpan ke jalur yang disebutkan dalam argumen metode

Kode sumber

import matplotlib.pyplot as mp
import numpy as np

# Creating the 144 X 144 NumPy Array with random values
arr = np.random.randint(255, size=(144, 144),dtype=np.uint8)

# Converting the NumPy Array into an image
mp.imsave("Image_from_array.png", arr)

print(" The Image is saved successfully ")
_

Keluaran

The Image is saved successfully 
_

Ini akan membuat file gambar dengan nama “Image_from_array. png” di folder yang sama. File gambar akan seperti ini,

Bagaimana cara mengonversi gambar menjadi array dengan python?
Gambar dibuat dari 2D NumPy Array

Mungkin saja Anda bisa mendapatkan kesalahan, jika modul matplotlib tidak diinstal. Suka,

PIL.Image.fromarray(Array)
_0

Kemudian gunakan perintah berikut untuk menginstal modul matplotlib,

PIL.Image.fromarray(Array)
_1

Konversi NumPy Array ke Gambar menggunakan imwrite() dari modul imageio

Modul imageio menyediakan metode imwrite() untuk mengonversi array menjadi format gambar apa pun. Kami akan membuat array numpy dan meneruskan array ke metode imwrite()

Sintaks imwrite()

PIL.Image.fromarray(Array)
_2
  • Parameter
    • Array = Larik yang perlu diubah menjadi gambar
    • fp = Nama atau jalur untuk menyimpan gambar
  • Pengembalian
    • Tidak ada

Pendekatan untuk mengonversi NumPy Array menjadi Gambar

  1. Impor perpustakaan numpy dan buat array numpy menggunakan metode randint()
  2. Lewati array ini ke metode imwrite()
  3. Gambar akan disimpan ke jalur yang disebutkan dalam metode

Kode sumber

PIL.Image.fromarray(Array)
_3

Keluaran

PIL.Image.fromarray(Array)
_4

Ini akan membuat file gambar dengan nama “Image_from_array. png” di folder yang sama. File gambar akan seperti ini,

Bagaimana cara mengonversi gambar menjadi array dengan python?
Gambar dibuat dari 2D NumPy Array

Mungkin saja Anda bisa mendapatkan kesalahan, jika modul imageio tidak diinstal. Suka,

PIL.Image.fromarray(Array)
_5

Kemudian gunakan perintah berikut untuk menginstal modul imageio,

PIL.Image.fromarray(Array)
_6

Konversi NumPy Array ke Gambar menggunakan imwrite() dari modul opencv

Modul opencv menyediakan metode imwrite() untuk mengonversi array menjadi format gambar apa pun. Kami akan membuat array numpy dan meneruskan array ke metode imwrite()

Sintaks imwrite()

PIL.Image.fromarray(Array)
_7
  • Parameter
    • Array = Larik yang perlu diubah menjadi gambar
    • fp = Nama atau jalur untuk menyimpan gambar
  • Pengembalian
    • Tidak ada

Pendekatan untuk mengonversi NumPy Array menjadi Gambar

  1. Impor perpustakaan numpy dan buat array numpy menggunakan metode randint()
  2. Lewati array ini ke metode imwrite()
  3. Gambar akan disimpan ke jalur yang disebutkan dalam metode

Kode sumber

PIL.Image.fromarray(Array)
_8

Keluaran

PIL.Image.fromarray(Array)
_4

Ini akan membuat file gambar dengan nama “Image_from_array. png” di folder yang sama. File gambar akan seperti ini,

Bagaimana cara mengonversi gambar menjadi array dengan python?
Gambar dibuat dari 2D NumPy Array

Mungkin saja Anda bisa mendapatkan kesalahan, jika modul opencv-python tidak diinstal. Menyukai,

Image.save(fp)
0

Kemudian gunakan perintah berikut untuk menginstal modul opencv-python,

Image.save(fp)
1

Ringkasan

Besar. Anda berhasil, Kami telah membahas Semua metode yang mungkin untuk mengonversi Array NumPy menjadi gambar dengan Python. Selamat belajar

Bagaimana cara mengubah gambar menjadi array 2D dengan Python?

langkah-langkahnya adalah. .
mengonversi gambar menjadi skala abu-abu (opencv)
konversi skala abu-abu ke gambar biner (opencv)
konversikan ke matriks 2D biner (scipy , pillow, numpy)

Bagaimana cara mengonversi gambar ke array NumPy?

Gambar adalah cara yang lebih mudah untuk merepresentasikan model kerja. Dalam Machine Learning, Python menggunakan data gambar dalam format Tinggi, Lebar, Saluran. Saya. e. Gambar dikonversi menjadi Numpy Array dalam format Tinggi, Lebar, Saluran .

Bagaimana cara mengubah gambar menjadi array dengan Python menggunakan Keras?

Konversi gambar menjadi larik . img_to_array() method to convert images into array, and array_to_img() method to convert image array back to image.