เทคนิคและความสามารถของ imagemagick การภาพ Gifs จากภาษา python

เทคนิคและความสามารถของ imagemagick การภาพ Gifs จากภาษา python การสร้างภาพเคลื่อนไหว GIF นั้นต้องใช้โปรแกรมติดต่อมากมาย ดังนั้นผมก็จะมาสอนการตัด GIF จาก Video ง่าย ด้วยโมดูลสำเร็จรูป

1. ขั้นตอนการทำภาพ GIF 

เรานำเข้า MoviePy เราจะเปิดไฟล์วิดีโอเราจะเลือกส่วนที่อยู่ระหว่าง 0,59.10 (0 นาที 59.10 วินาที) และบันทึกเป็นไฟล์ GIF

from moviepy.editor import *

clip = (VideoFileClip("SampleVideo.mp4")
        .subclip((0, 59.10), (1, 0.40))
        .resize(0.3))
clip.write_gif("imgtest/ex1.gif")

สามารถดาวน์โหลด source code EX1 ได้ที่นี้ Download

ขั้นตอนการทำภาพ GIF
ขั้นตอนการทำภาพ GIF

 

2. ขั้นตอนการตัดขนาดภาพ

เป็นคำสั่ง Crop หรือ การตัด ใช้ในการสิ่งที่ต้องการเฉพาะเจาะจง คพสั่ง Crop()

from moviepy.editor import *
clip = (VideoFileClip("SampleVideo.mp4")
        .subclip((0, 5.10), (0, 5.30))
        .resize(0.3)
        .crop(x1=50,x2=200))
clip.write_gif("imgtest/ex2.gif")

สามารถดาวน์โหลด source code EX2 ได้ที่นี้ Download

ขั้นตอนการตัดขนาดภาพ

3. ขั้นตอนการทำให้เคลื่อนไหวบางส่วน 

ภาพGif จะเคลื่อนไหวบางสอนโดย ใช้การหยูดภาพ ตัวอย่าง GIF จะหยุดส่วนซ้าย 

anna_olaf = (VideoFileClip("SampleVideo.mp4")
        .subclip(113.10, 114.10)
        .speedx(0.4)
        .resize(.4))

snapshot = (anna_olaf
            .crop(x2= anna_olaf .w/1.7)
            .to_ImageClip(0.2)
            .set_duration(anna_olaf.duration))
composition = CompositeVideoClip([anna_olaf, snapshot])
composition.write_gif('imgtest/ex3.gif', fps=15)

สามารถดาวน์โหลด source code EX3 ได้ที่นี้ Download

 ขั้นตอนการทำให้เคลื่อนไหวบางส่วน
ขั้นตอนการทำให้เคลื่อนไหวบางส่วน

 

4. ขั้นตอนการทำภาพเคลื่อนไหวแบบมีการ return ภาพกลับ ทำภาพสมูท

สังเกตภาพว่า การเล่นของภาพมันต่อเนื่องงันตลอด

# -*- coding: utf-8 -*-
from moviepy.editor import *
def time_symetrize(clip):
    return concatenate([clip, clip.fx( vfx.time_mirror )])
clip = (VideoFileClip("SampleVideo.mp4")
        .subclip((2, 7.40), (2, 8.10))
        .resize(0.3)
        .fx(time_symetrize))
clip.write_gif('imgtest/ex4.gif',fps=15, fuzz=2)

สามารถดาวน์โหลด source code EX4 ได้ที่นี้ Download

ขั้นตอนการทำภาพเคลื่อนไหวแบบมีการ return ภาพกลับ ทำภาพสมูท
ขั้นตอนการทำภาพเคลื่อนไหวแบบมีการ return ภาพกลับ ทำภาพสมูท

 

5. ขั้นตอนการทำภาพเคลื่อนไหวแบบลูป 

เช่น การทำภาพพื้นหลัง, การทำฝนตก ภาพจะเล่นสมูทโดยที่หาจุดจบไม่ได้

# -*- coding: utf-8 -*-
from moviepy.editor import *

def time_symetrize(clip):
    return concatenate([clip, clip.fx( vfx.time_mirror )])

castle = (VideoFileClip("SampleVideo.mp4", audio=False)
          .subclip(25.8,26.2)
          .speedx(0.2)
          .resize(.4))

d = castle.duration
castle = castle.crossfadein(d/2)

composition = (CompositeVideoClip([castle,
                                   castle.set_start(d/2),
                                   castle.set_start(d)])
               .subclip(d/2, 3*d/2))

composition.write_gif('imgtest/ex5.gif', fps=5,fuzz=5)

สามารถดาวน์โหลด source code EX5 ได้ที่นี้ Download

ขั้นตอนการทำภาพเคลื่อนไหวแบบลูป
ขั้นตอนการทำภาพเคลื่อนไหวแบบลูป

 

 

หัวเรื่อง
ความสามารถของ imagemagick
หมวดหมู่
Python for work, Python for work
ฮิต
31112
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-28 16:17:48

imgemagick.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.76 KB

ผู้อัพโหลดไฟล์ ae

วันที่อัพโหลด 2017-06-28 09:17:46


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ถามเรื่อง ใช้โฮสต์ MySQL 4 ติดตั้งไม่ได้พอจะมีทางไหนอีกมั้ย
โดย chat99 อ 28 ก.ค. 2009 11:46 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
3
1087
พ 29 ก.ค. 2009 1:12 pm โดย mindphp View Topic ถามเรื่อง ใช้โฮสต์ MySQL 4 ติดตั้งไม่ได้พอจะมีทางไหนอีกมั้ย
ติดตั้ง IE หลายๆ ตัว (IE3 IE4.01 IE5 IE5.5 and IE6)ในเครื่อง
โดย mindphp อ 28 ก.ค. 2009 10:15 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
1889
อ 28 ก.ค. 2009 10:15 pm โดย mindphp View Topic ติดตั้ง IE หลายๆ ตัว (IE3 IE4.01 IE5 IE5.5 and IE6)ในเครื่อง
Joomla_1.5.9_eCommerce_Edition_VM_1.1.3_LaiThai
โดย phet192 อ 28 ก.ค. 2009 3:00 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
3
1094
พ 29 ก.ค. 2009 1:11 pm โดย mindphp View Topic Joomla_1.5.9_eCommerce_Edition_VM_1.1.3_LaiThai
การ set ค่า chmod ทำอย่างไรครับรบกวนที
โดย darksoullest อ 28 ก.ค. 2009 2:48 pm บอร์ด Programming - PHP
1
877
อ 28 ก.ค. 2009 3:39 pm โดย mindphp View Topic การ set ค่า chmod ทำอย่างไรครับรบกวนที
ถามปัญหาเรื่อง Server จำลอง
โดย umaporn อ 28 ก.ค. 2009 10:31 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
1205
อ 28 ก.ค. 2009 12:13 pm โดย mindphp View Topic ถามปัญหาเรื่อง Server จำลอง
ถามปัญญา Joomla-Vertuemart
โดย umaporn อ 28 ก.ค. 2009 10:15 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
697
อ 28 ก.ค. 2009 10:33 am โดย mindphp View Topic ถามปัญญา Joomla-Vertuemart
Joomla ออกเวอร์ชั่น 1.5.13 แล้ว อัพเกรด Security Release
โดย mindphp อ 28 ก.ค. 2009 9:39 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
0
661
อ 28 ก.ค. 2009 9:39 am โดย mindphp View Topic Joomla ออกเวอร์ชั่น 1.5.13 แล้ว อัพเกรด Security Release
ถามเรื่องการ upgrade smf คับ
โดย max_joomla อ 28 ก.ค. 2009 5:21 am บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
1088
อ 28 ก.ค. 2009 9:47 am โดย mindphp View Topic ถามเรื่องการ upgrade smf คับ