Rumah > Artikel > pembangunan bahagian belakang > Bolehkah Numpy Slices Digunakan untuk Pemotongan Imej Rawak yang Cekap?
Pemotongan Imej Cekap dengan Kepingan Numpy
Mencari pendekatan yang dioptimumkan untuk memangkas imej menggunakan kepingan Numpy, seorang pengguna mempersoalkan kebolehlaksanaan langkah- kaedah berasaskan untuk menjana tanaman rawak dalam satu laluan.
Pengeluaran Tampalan berasaskan Stride
Respons mencadangkan memanfaatkan np.lib.stride_tricks.as_strided atau scikit-image's view_as_windows untuk mencipta paparan tetingkap gelongsor tatasusunan input. Kaedah ini mengekalkan kecekapan memori tanpa menanggung sebarang overhed tambahan.
View_as_Windows Explanation
view_as_windows membolehkan pengguna menentukan argumen window_shape, yang mewakili saiz tetingkap gelongsor di sepanjang setiap dimensi tatasusunan input. Paksi tidak bertujuan untuk menghiris menerima nilai 1. Selepas menghiris, tatasusunan yang terhasil mengandungi paparan dengan dimensi tunggal (panjang 1) sepadan dengan 1 nilai ini.
Penyelesaian
Penyelesaian yang dicadangkan melibatkan penggunaan view_as_windows untuk mengekstrak tetingkap gelongsor dan kemudian mengindeks ke dalam tetingkap ini berdasarkan offset yang dijana secara rawak:
<code class="python"># Get sliding windows w = view_as_windows(X, (1, 16, 16, 1))[..., 0, :, :, 0] # Index and get specific windows out = w[np.arange(X.shape[0]), x, y] # Reshape to match loopy code format (optional) out = out.transpose(0, 2, 3, 1)</code>
Pendekatan ini membolehkan pemangkasan imej yang cekap dengan offset rawak yang berbeza untuk setiap imej, menghapuskan keperluan untuk a untuk gelung.
Atas ialah kandungan terperinci Bolehkah Numpy Slices Digunakan untuk Pemotongan Imej Rawak yang Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!