โดย Leonardo - เป็นที่สิ้นสุด
asciipixels เป็นไลบรารีที่รวดเร็วและง่ายสำหรับการแปลง ภาพ และ วิดีโอ เป็น ศิลปะ ASCII ที่ปรับแต่งได้สูง ไลบรารีมีฟังก์ชั่นหลักสี่ประการที่ทำงานทั้งหมดและบันทึกผลลัพธ์เป็นภาพ GIF หรือวิดีโอ: image.asciify() , image.dynamic_asciify() , video.asciify() และ video.dynamic_asciify()
สำหรับการควบคุมที่ละเอียดยิ่งขึ้นของสิ่งที่โปรแกรมควรทำคลาส CoreAsciifier (คลาสที่อยู่เบื้องหลังฟังก์ชั่น Asciipixels หลัก) และฟังก์ชั่น wrapper สำหรับทั้ง ImageMagick และ FFMPEG
สิ่งที่ทำให้ไลบรารี Asciipixels แตกต่างกันคือฟังก์ชั่น แบบไดนามิก ในฟังก์ชั่น image.dynamic_asciify() และ video.dynamic_asciify() พารามิเตอร์บางอย่างสามารถเปลี่ยนแปลงได้ตลอดเวลา ผู้ใช้สามารถผ่าน callables ที่ได้รับหมายเลขเฟรมและส่งคืนค่าพารามิเตอร์แทนที่จะส่งผ่านค่าที่ใช้รหัสยากเอง ในตัวอย่างด้านล่างพารามิเตอร์ definition จะเพิ่มขึ้น 16 หน่วยทุกเฟรม มันเป็นแบบจำลองโดยการแสดงออกของ lambda ที่ง่ายมาก

หมายเหตุ: Asciipixels ขึ้นอยู่ กับสองซอฟต์แวร์บรรทัดคำสั่งเฉพาะ: ImageMagick และ FFMPEG หากคุณเป็น CLI Nerd และติดตั้งแล้วให้ไปข้างหน้าพร้อมกับคู่มือนี้ ถ้าไม่ไปที่ส่วนการติดตั้ง
ใช้ฟังก์ชั่นที่เกี่ยวข้องขึ้นอยู่กับกรณีการใช้งานของคุณ:
image.asciify() แปลงภาพเป็นภาพ ศิลปะ ASCII ที่สร้างขึ้นจะถูกส่งคืนเป็นสตริงและบันทึกทางเลือกใน TXT
image.dynamic_asciify() แปลงภาพเป็นวิดีโอ GIF หรือ MP4 รองรับพารามิเตอร์แบบไดนามิก
video.asciify() แปลงวิดีโอเป็นวิดีโอ
video.dynamic_asciify() แปลงวิดีโอเป็นวิดีโอ รองรับพารามิเตอร์แบบไดนามิก
ทั้งสี่มี path ของไฟล์อินพุตเป็นอาร์กิวเมนต์แรก ส่วนที่เหลือของอาร์กิวเมนต์ทั้งหมดมี ค่าเริ่มต้น บางสิ่งบางอย่างในสายเหล่านี้ก็เพียงพอที่จะให้คุณเริ่มต้น:
import asciipixels as ap
ap . image . asciify ( 'foo.png' ) สิ่งนี้จะสร้างภาพ Asciified ใหม่ชื่อ foo2.png
เป็นสิ่งสำคัญที่จะต้องทราบว่า ฟังก์ชั่นทั้งหมด ยกเว้น image.asciify() ต้องใช้ if __name__ == '__main__' ตรวจสอบในระดับบนสุดของรหัสผู้ใช้ ( เว้นแต่ คุณจะใช้ python แบบโต้ตอบบนบรรทัดคำสั่ง) นี่เป็นเพราะไลบรารีใช้ การประมวลผลมัลติโพรเซสชั่น เพื่อเพิ่มความเร็วในการสร้างเฟรม ดังนั้นเพื่อที่จะ asciify วิดีโอตัวอย่างเช่นคุณสามารถทำสิ่งต่อไปนี้:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' ) พารามิเตอร์ ที่สำคัญที่สุดในการเล่นด้วยคือ definition มันเป็นเพียงจำนวนอักขระในแกนแนว นอน ค่าเริ่มต้นถึง 100 ในฟังก์ชั่นทั้งหมด ตั้งค่าให้สูงเกินไปและศิลปะ ASCII จะดูเหมือนศิลปะ ตั้งค่าต่ำเกินไปและมันจะดูเหมือน ASCII
นอกจากนี้โปรดทราบว่าคุณสามารถตั้งค่า ความละเอียดเอาต์พุต ของรูปภาพ/วิดีโอ ขนาดของเอาต์พุตโดยประมาณขนาดอินพุตตามค่าเริ่มต้น แต่คุณสามารถเปลี่ยนแปลงได้ด้วยอาร์กิวเมนต์ out_width
สุดท้ายหากคุณตัดสินใจที่จะทำงานกับ ข้อความมืด บน พื้นหลังแสง อย่าลืมตั้งค่า reverse_chars เป็น True เพื่อแก้ไขการทำแผนที่ Pixel-to-Ascii
เป็นตัวอย่างสุดท้ายฉันสร้าง GIF BigWeld ในส่วน 'ไดนามิก' ด้วยรหัสต่อไปนี้:
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
)รายการที่สมบูรณ์ของพารามิเตอร์/อาร์กิวเมนต์ของฟังก์ชั่นหลักที่กำหนดสามารถพบได้ในเอกสารประกอบ
ในการติดตั้ง asciipixels ให้ใช้ pip ในเทอร์มินัล:
หน้าต่าง
pip install asciipixels
MacOS / Linux
python3 -m pip install asciipixels
Asciipixels มีสอง การพึ่งพา ที่ไม่ได้ติดตั้งโดยอัตโนมัติ สิ่งเหล่านี้คือ ImageMagick สำหรับการจัดการภาพและ FFMPEG สำหรับการจัดการวิดีโอและเสียง คุณสามารถดาวน์โหลดได้จาก เว็บไซต์อย่างเป็นทางการ หรือโดยใช้ Homebrew (ถ้ามี)
ติดตั้ง Imagemagick ที่นี่
ติดตั้ง ffmpeg ที่นี่
ASCII Art เป็นเพียงการแสดงภาพ (หรือวิดีโอ) ที่มี ตัวละคร และตัวอักษร งานศิลปะนี้สามารถแต่งได้โดยใช้ตัวละครที่ตรงกับ ความสว่าง หรือ รูปร่าง ของส่วนหนึ่งของภาพ ห้องสมุดนี้ทำงานร่วมกับด้านความสว่าง