Oleh Leonardo - Umaktual
asciipixels adalah perpustakaan yang cepat dan mudah untuk mengubah gambar dan video menjadi seni ASCII yang sangat dapat disesuaikan. Perpustakaan memiliki empat fungsi utama yang melakukan semua pekerjaan asciifikasi, dan menyimpan hasilnya sebagai gambar, gif, atau video: image.asciify() , image.dynamic_asciify() , video.asciify() dan video.dynamic_asciify() .
Untuk kontrol yang lebih granular dari apa yang harus dilakukan program, kelas CoreAsciifier (kelas di belakang fungsi Asciipixels primer) dan fungsi pembungkus untuk Imagemagick dan FFMPEG juga tersedia.
Apa yang benar -benar membedakan perpustakaan ASCIIPIXELS adalah fungsionalitas dinamis . Dalam fungsi image.dynamic_asciify() dan video.dynamic_asciify() Beberapa parameter dapat berubah dari waktu ke waktu. Pengguna dapat melewati Callable yang menerima nomor bingkai dan mengembalikan nilai parameter, daripada memberikan nilai kode keras itu sendiri. Dalam contoh di bawah ini, parameter definition meningkat sebesar 16 unit setiap bingkai. Ini dimodelkan oleh ekspresi lambda yang sangat sederhana.

Catatan: ASCIIPIXELS tergantung pada dua perangkat lunak baris perintah tertentu: Imagemagick dan FFMPEG . Jika Anda seorang cli nerd dan sudah menginstal ini, maka silakan dengan panduan ini. Jika tidak, buka bagian instalasi.
Gunakan fungsi yang sesuai tergantung pada kasus penggunaan Anda:
image.asciify() mengubah gambar ke gambar. Seni ASCII yang dihasilkan dikembalikan sebagai string dan secara opsional disimpan dalam txt.
image.dynamic_asciify() Mengubah gambar menjadi video GIF atau MP4. Mendukung parameter dinamis.
video.asciify() Mengubah video menjadi video.
video.dynamic_asciify() mengonversi video menjadi video. Mendukung parameter dinamis.
Keempatnya memiliki path file input sebagai argumen pertama. Sisa argumen semuanya memiliki nilai default . Sesuatu di sepanjang garis ini sudah cukup untuk memulai:
import asciipixels as ap
ap . image . asciify ( 'foo.png' ) Ini akan menghasilkan gambar asciified baru bernama foo2.png .
Penting untuk dicatat bahwa semua fungsi kecuali image.asciify() memerlukan if __name__ == '__main__' Periksa di tingkat atas kode pengguna ( kecuali jika Anda menggunakan python interaktif pada baris perintah). Ini karena perpustakaan menggunakan multiprosesing untuk mempercepat pembuatan bingkai. Jadi, untuk mendapatkan video, misalnya, Anda dapat melakukan hal berikut:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' ) Parameter terpenting untuk dimainkan adalah definition . Ini hanyalah jumlah karakter dalam sumbu horizontal . Default ke 100 di semua fungsi. Atur terlalu tinggi dan seni ASCII hanya akan terlihat seperti seni. Atur terlalu rendah dan itu akan terlihat seperti ASCII.
Juga, perlu diingat bahwa Anda dapat mengatur resolusi output gambar/video. Dimensi output mendekati dimensi input secara default, tetapi Anda dapat mengubahnya dengan argumen out_width .
Terakhir, jika Anda memutuskan untuk bekerja dengan teks gelap dengan latar belakang cahaya , ingatlah untuk mengatur reverse_chars ke True untuk memperbaiki pemetaan piksel-ke-ASCII.
Sebagai contoh terakhir, saya membuat GIF Bigweld di bagian apa yang 'dinamis' dengan kode berikut:
import asciipixels as ap
if __name__ == '__main__' :
ap . image . dynamic_asciify (
'ceo.png' ,
bg_color = 255 ,
txt_color = 0 ,
definition = lambda f : f * 16 ,
fps = 2 ,
frame_count = 7 ,
out_width = 1000 ,
reverse_chars = True
)Daftar lengkap parameter/argumen fungsi primer yang diberikan dapat ditemukan dalam dokumentasinya.
Untuk memasang asciipixels, gunakan PIP di terminal:
Windows
pip install asciipixels
MacOS / Linux
python3 -m pip install asciipixels
ASCIIPIXELS memiliki dua dependensi yang tidak diinstal secara otomatis. Ini adalah Imagemagick , untuk manipulasi gambar, dan FFMPEG , untuk manipulasi video dan audio. Anda dapat mengunduhnya dari situs resmi mereka atau dengan menggunakan homebrew (jika berlaku).
Instal Imagemagick di sini
Instal FFMPEG di sini
Seni ASCII hanyalah representasi gambar (atau video) dengan karakter dan huruf. Seni ini dapat disusun dengan menggunakan karakter yang cocok dengan kecerahan atau kontur bagian gambar. Perpustakaan ini berfungsi dengan aspek kecerahan.