\(\perintah baru{L}[1]{\. #1 \. }\perintahbaru{VL}[1]{\L{ \vec{#1} }}\perintahbaru{R}[1]{\namaoperator{Re}\,(#1)}\perintahbaru{I}[1] Array sebagai gambar, gambar sebagai array Anda dapat menganggap array sebagai gambar, dan gambar sebagai array Show Kami memulai dengan impor biasa kami >>> import numpy as np >>> import matplotlib.pyplot as plt Mari kita buat susunan angka antara 0 sampai 99 >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_ Sebenarnya susunan ini mewakili gambar monokrom dari sebuah surat Kita dapat menampilkan array sebagai gambar menggunakan perintah >>> plt.imshow(an_array) <...>1 dari matplotlib. Ini adalah output default >>> plt.imshow(an_array) <...> (png, perekrutan. png, pdf) Jika Anda memiliki versi matplotlib yang lebih lama dari versi 2. 0, gambar ini akan terlihat agak buram. Ini karena matplotlib menggambar gambar dengan lebih banyak piksel daripada nilai array. Untuk piksel di antara nilai array, matplotlib yang lebih lama memiliki standar menggunakan interpolasi linier untuk memperkirakan nilai piksel yang baik. Kita dapat mematikan efek buram ini dengan menggunakan interpolasi tetangga terdekat alih-alih interpolasi linier >>> plt.imshow(an_array, interpolation='nearest') <...>_ (png, perekrutan. png, pdf) >>> plt.imshow(an_array) <...>2 interpolasi adalah nilai default untuk matplotlib 2. 0 dan selanjutnya. Jika Anda memiliki matplotllib yang lebih lama dan Anda ingin >>> plt.imshow(an_array) <...>2 interpolasi menjadi default untuk sesi saat ini, gunakan >>> # Set nearest neighbor interpolation by default >>> plt.rcParams['image.interpolation'] = 'nearest' Gambarnya berwarna-warni aneh. Itu karena matplotlib menggunakan colormap default. Peta warna adalah pemetaan dari nilai dalam larik ke warna. Di matplotlib <2. 0 peta warna default disebut >>> plt.imshow(an_array) <...>_4 dan memetakan angka rendah pada gambar (0 dalam kasus kami) menjadi biru, dan angka tinggi (99 dalam kasus kami) menjadi merah. Untuk matplotlib versi 2. 0 dan di atas colormap default disebut >>> plt.imshow(an_array) <...>5. >>> plt.imshow(an_array) <...>5 memetakan angka rendah menjadi ungu dan angka tinggi menjadi kuning Kita bisa melihat hubungan angka dengan warna dengan meminta matplotlib untuk menampilkan peta warna >>> # Nearest interpolation is now the default >>> plt.imshow(an_array) <...> >>> plt.colorbar() <...> (png, perekrutan. png, pdf) Dalam kasus kami, gambar kami akan lebih masuk akal sebagai skala abu-abu, jadi kami menggunakan peta warna >>> plt.imshow(an_array) <...>7, seperti ini >>> plt.imshow(an_array, cmap='gray') <...> >>> plt.colorbar() <...> (png, perekrutan. png, pdf) Gambar skala abu-abu adalah larik yang berisi angka yang memberikan nilai intensitas piksel - dalam kasus kami antara 0 dan 99 Di sini kita menetapkan >>> plt.imshow(an_array) <...>_7 ke colormap default untuk sisa plot kita >>> # Set 'gray' as the default colormap >>> plt.rcParams['image.cmap'] = 'gray' Kami juga dapat memplot garis di matplotlib. Misalnya, kita mungkin ingin memplot nilai di baris 8 dari larik ini. Karena indeks Python dimulai dari 0, ini adalah baris ke-9 dari array >>> plt.plot(an_array[8]) [...] (png, perekrutan. png, pdf) Sumbu x adalah posisi dalam larik (0 sampai 7) dan sumbu y adalah nilai baris larik pada posisi tersebut Plot menunjukkan kepada kita nilai 0 di tepi batang "i", dan tanjakan hingga puncak di tengah batang "i", di kolom nomor 3 dan 4 Transpose di numpy menggunakan metode >>> plt.imshow(an_array) <...>9 pada array. Ini memiliki efek membalik baris dan kolom (dalam 2D) >>> an_array.T array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 0], [ 0, 0, 0, 0, 0, 0, 0, 9, 27, 45, 63, 80, 96, 99, 0], [ 0, 9, 25, 0, 56, 73, 91, 99, 99, 99, 99, 99, 99, 99, 0], [ 0, 99, 99, 0, 99, 99, 99, 99, 99, 99, 99, 99, 99, 88, 0], [ 0, 99, 99, 0, 99, 99, 99, 94, 77, 59, 42, 24, 6, 0, 0], [ 0, 94, 79, 0, 49, 31, 13, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_0 (png, perekrutan. png, pdf) Kita juga dapat membentuk ulang larik asli menjadi larik 1D, dengan menumpuk semua baris dari ujung ke ujung >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_1 >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_2 Membentuk kembali array menjadi satu dimensi adalah operasi umum, jadi ada perintah numpy terpisah untuk itu, >>> plt.imshow(an_array, interpolation='nearest') <...>0 >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_3 Salah satu penggunaan array versi 1D adalah untuk membuat histogram dari distribusi nilai dalam array >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_4 (png, perekrutan. png, pdf) Secara default, fungsi >>> plt.imshow(an_array, interpolation='nearest') <...>1 menggunakan 50 bin, tetapi Anda dapat menentukan berapa banyak bin yang Anda inginkan dengan kata kunci >>> plt.imshow(an_array, interpolation='nearest') <...>2 >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_5 (png, perekrutan. png, pdf) Seperti yang dapat Anda bayangkan, tidak sulit untuk kembali ke bentuk 2D, dengan membagi larik 1D kembali menjadi 15 baris dengan masing-masing 8 nilai (dan karenanya menjadi 8 kolom) >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_6 (png, perekrutan. png, pdf) Dalam numpy, operasi dasar seperti perkalian, penjumlahan, perbandingan, selalu berdasarkan elemen. Misalnya, ini mengalikan setiap nilai array dengan 10 >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_7 Perbandingan juga elementwise. Misalnya, memberikan True untuk setiap nilai > 50, dan False untuk setiap nilai <= 50 >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_8 Matplotlib akan memperlakukan False sebagai 0 dan True sebagai 1, jadi ini adalah salah satu cara binerisasi gambar pada ambang batas (50 dalam kasus ini) >>> an_array = np.array([[ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 9, 99, 99, 94, 0], .. [ 0, 0, 0, 25, 99, 99, 79, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0], .. [ 0, 0, 0, 56, 99, 99, 49, 0], .. [ 0, 0, 0, 73, 99, 99, 31, 0], .. [ 0, 0, 0, 91, 99, 99, 13, 0], .. [ 0, 0, 9, 99, 99, 94, 0, 0], .. [ 0, 0, 27, 99, 99, 77, 0, 0], .. [ 0, 0, 45, 99, 99, 59, 0, 0], .. [ 0, 0, 63, 99, 99, 42, 0, 0], .. [ 0, 0, 80, 99, 99, 24, 0, 0], .. [ 0, 1, 96, 99, 99, 6, 0, 0], .. [ 0, 16, 99, 99, 88, 0, 0, 0], .. [ 0, 0, 0, 0, 0, 0, 0, 0]]) >>> an_array.shape (15, 8)_9 (png, perekrutan. png, pdf) Kita dapat mengiris array saat kita mengiris string atau daftar. Perbedaan untuk array adalah bahwa kita dapat mengiris salah satu atau semua dimensi secara bersamaan. Misalnya, untuk mendapatkan titik "i" itu terlihat (dari angka di sisi plot) yang kita inginkan ke 4 baris teratas, dan 5 kolom terakhir Bagaimana cara menampilkan nilai array dalam HTML?log() fungsi. Cara termudah untuk mencetak array adalah dengan menggunakan konsol. fungsi log() . Anda dapat mengulangi setiap elemen, mencetaknya satu per satu.
Bagaimana Anda menyimpan gambar dalam array?Setelah Anda membuat objek gambar, Anda kemudian dapat mendorongnya ke arrayOfImages seperti biasa. // Deklarasikan objek array untuk array gambar kita biarkan arrayOfImages = [];
Bagaimana saya bisa menampilkan gambar dalam HTML?Tag HTML . Gambar tidak secara teknis dimasukkan ke dalam halaman web; . Tag
Apa itu susunan gambar?Larik gambar hanyalah array angka . Ini memiliki nomor untuk setiap piksel. Setiap angka adalah nilai untuk piksel itu. Saat gambar ditampilkan, nilainya diubah menjadi tingkat keabuan atau warna. Sekarang kita akan melihat beberapa nilai yang terkandung dalam array. |