Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar imej kepada tatasusunan NumPy menggunakan Python dan menyimpannya sebagai fail CSV?
Python ialah bahasa pengaturcaraan yang berkuasa dengan sejumlah besar perpustakaan dan modul. Satu perpustakaan sedemikian ialah NumPy, yang digunakan untuk pengiraan berangka dan pemprosesan tatasusunan dan matriks berbilang dimensi yang besar. Satu lagi perpustakaan popular untuk pemprosesan imej dalam Python ialah Bantal, yang merupakan garpu Perpustakaan Pengimejan Python (PIL).
Dalam tutorial ini, kami akan menunjukkan kepada anda cara menukar imej kepada tatasusunan NumPy dan menyimpannya ke fail CSV menggunakan Python. Kami akan menggunakan perpustakaan Bantal untuk membuka dan menukar imej kepada tatasusunan NumPy, dan modul CSV untuk menyimpan tatasusunan NumPy ke fail CSV. Dalam bahagian seterusnya artikel ini, kami akan membincangkan langkah-langkah yang diperlukan untuk menukar imej kepada tatasusunan NumPy menggunakan perpustakaan Bantal. Jadi, mari mulakan!
Sebelum kita menyelami proses menukar imej kepada tatasusunan NumPy dan menyimpannya ke fail CSV, mari kita lihat dahulu dua perpustakaan yang akan kami gunakan dalam tutorial ini: Bantal dan NumPy.
Bantal ialah Perpustakaan Pengimejan Python (PIL) yang menambah sokongan untuk membuka, memanipulasi dan menyimpan banyak format fail imej yang berbeza.
NumPy ialah perpustakaan asas untuk pengkomputeran saintifik dalam Python. Ia menyediakan sokongan untuk tatasusunan dan matriks berbilang dimensi yang besar, serta pelbagai fungsi matematik yang beroperasi padanya.
Untuk menggunakan perpustakaan ini, kami perlu memasangnya pada sistem kami terlebih dahulu. Kita boleh melakukan ini menggunakan pip pemasang pakej Python.
Begini cara memasang Bantal:
pip install Pillow
Begini cara memasang NumPy:
pip install numpy
Sekarang kita telah memasang perpustakaan yang diperlukan, mari kita beralih ke bahagian seterusnya artikel ini, menukar imej kepada tatasusunan NumPy.
Pertimbangkan kod berikut yang menukar imej kepada tatasusunan 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)
Dalam kod di atas, kami mula-mula mengimport perpustakaan csv, PIL dan numpy yang diperlukan. Pustaka CSV digunakan untuk membaca dan menulis fail CSV, manakala pustaka PIL digunakan untuk membuka dan memanipulasi imej. Pustaka NumPy digunakan untuk menukar imej kepada tatasusunan NumPy.
Kemudian kami membuka fail imej bernama image.jpg menggunakan kaedah Image.open() daripada perpustakaan PIL. Kaedah ini mengembalikan objek Imej.
Selepas itu, gunakan kaedah np.array() daripada perpustakaan NumPy untuk menukar objek imej kepada tatasusunan NumPy. Tatasusunan yang dihasilkan mengandungi nilai piksel imej. Akhir sekali, kami menyimpan tatasusunan NumPy ke fail CSV bernama output.csv menggunakan kaedah np.savetxt() daripada pustaka NumPy. Kami menentukan pembatas sebagai "," dan format sebagai %d untuk memastikan bahawa nilai dalam fail CSV dipisahkan koma dan integer.
Akhir sekali, kami mencetak bentuk tatasusunan NumPy menggunakan sifat bentuk. Bentuk tatasusunan NumPy mewakili dimensi tatasusunan, dalam kes ini ketinggian, lebar dan bilangan saluran warna (jika berkenaan).
Output kod di atas akan mencipta fail baharu yang dipanggil output.csv dalam direktori yang sama dengan skrip, yang mengandungi nilai piksel imej dalam format CSV, dan terminal akan memaparkan perkara berikut:
Shape of NumPy array: (505, 600, 3)
Di sini, bentuk tatasusunan NumPy ialah (505, 600, 3), yang bermaksud ketinggian dan lebar imej ialah 100 piksel setiap satu, dan setiap piksel mempunyai 3 saluran warna (RGB).
Perlu diingat bahawa bentuk tatasusunan NumPy bergantung pada dimensi imej input. Jika imej ialah imej berwarna, bentuk tatasusunan adalah (tinggi, lebar, bilangan saluran warna);
Dalam artikel ini, kami mempelajari cara menukar imej kepada tatasusunan NumPy dan menyimpannya ke fail CSV menggunakan Python. Kami menggunakan perpustakaan Bantal untuk membuka dan menukar imej kepada tatasusunan NumPy, dan menggunakan modul CSV untuk menyimpan tatasusunan NumPy ke fail CSV. Kami juga merangkumi langkah-langkah yang diperlukan untuk memasang perpustakaan yang diperlukan dan menyediakan kod sampel untuk setiap kaedah. Adalah penting untuk ambil perhatian bahawa bentuk tatasusunan NumPy bergantung pada dimensi imej input, dan bentuk tatasusunan akan berbeza untuk imej warna dan skala kelabu. Dengan menggunakan teknik ini, kami boleh memanipulasi dan memproses imej dengan mudah menggunakan perpustakaan NumPy yang berkuasa.
Atas ialah kandungan terperinci Bagaimana untuk menukar imej kepada tatasusunan NumPy menggunakan Python dan menyimpannya sebagai fail CSV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!