萊昂納多(Leonardo)
asciipixels是一個快速而令人放鬆的庫,用於將圖像和視頻轉換為高度可定制的ASCII藝術品。該庫具有四個主要功能,可以完成所有驗證工作,並將結果保存為圖像,gif或video: image.asciify() , image.dynamic_asciify() , video.asciify()和video.dynamic_asciify() 。
為了對程序應採取的更加詳細的控制,也可以使用CoreAsciifier類(主要的assiipixels功能背後的類)和ImageMagick和FFMPEG的包裝功能。
真正設定Asciipixels庫的是動態功能。在函數image.dynamic_asciify()和video.dynamic_asciify()中,某些參數可以隨著時間而變化。用戶可以傳遞接收幀號並返回參數值,而不是傳遞硬編碼值本身。在下面的示例中, definition參數每幀增加16個單位。它是由非常簡單的lambda表達式建模的。

注意:assiipixels取決於兩個特定的命令行軟件: ImageMagick和FFMPEG 。如果您是Cli Nerd,並且已經安裝了這些內容,請繼續此指南。如果沒有,請轉到安裝部分。
根據您的用例使用相應的功能:
image.asciify()將圖像轉換為圖像。生成的ASCII ART作為字符串返回,並可選地保存在TXT中。
image.dynamic_asciify()將圖像轉換為GIF或MP4視頻。支持動態參數。
video.asciify()將視頻轉換為視頻。
video.dynamic_asciify()將視頻轉換為視頻。支持動態參數。
這四個都有輸入文件作為第一個參數的path 。其餘參數都有默認值。沿著這些線路足以讓您入門:
import asciipixels as ap
ap . image . asciify ( 'foo.png' )這將生成一個名為foo2.png的新的驗證圖像。
重要的是要注意,除了image.asciify()以外的所有函數都需要a if __name__ == '__main__'在用戶代碼的頂級檢查(除非您在命令行上使用Interactive Python)。這是因為庫使用多處理來加快框架的生成。因此,為了使視頻提交,您可以執行以下操作:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' )最重要的參數是definition 。它只是水平軸中字符的數量。在所有功能中默認為100。將其設置得太高,ASCII藝術看起來像藝術。將其設置得太低,它看起來像ASCII。
另外,請記住,您可以設置圖像/視頻的輸出分辨率。輸出尺寸默認情況下近似輸入維度,但是您可以使用out_width參數更改它。
最後,如果您決定在光背景上使用深色文字,請記住將reverse_chars設置為True ,以糾正像素到ASCII映射。
作為最後一個示例,我在“動態”部分中使用以下代碼進行了大型gif:
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
)可以在其文檔中找到給定主要功能的參數/參數的完整列表。
要安裝assiipixels,請在終端中使用PIP :
視窗
pip install asciipixels
MacOS / Linux
python3 -m pip install asciipixels
Asciipixels具有兩個未自動安裝的依賴項。這些是圖像操作的成像繪製,用於視頻和音頻操縱。您可以從他們的官方網站或使用Homebrew (如果適用)下載它們。
在此處安裝ImageMagick
在此處安裝FFMPEG
ASCII藝術只是用字符和字母的圖像(或視頻)表示。可以通過使用匹配圖像一部分的亮度或輪廓的字符來組成這種藝術。該圖書館與亮度方面合作。