ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

เทคนิคและความสามารถของ 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
ฮิต
6228
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-28 16:17:48

imgemagick.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.76 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - Migrate รายการสินค้าขึ้นระบบซ้ำ
โดย rinrada อ 25 ก.ย. 2018 7:51 pm บอร์ด สิริกิตติรัตน์ - Tester
0
4
อ 25 ก.ย. 2018 7:51 pm โดย rinrada
งานประจำวันที่ 25 กันยายน 2561
โดย tai14 อ 25 ก.ย. 2018 10:08 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
6
อ 25 ก.ย. 2018 7:29 pm โดย tai14
การใช้งาน phpbbb แบบพื้นฐานเบื้องต้น ส่วนของข้อความส่วนตัว
โดย Ittichai_chupol อ 25 ก.ย. 2018 7:10 pm บอร์ด phpBB user Guide Knowledge
0
5
อ 25 ก.ย. 2018 7:10 pm โดย Ittichai_chupol
R - mdsoft_order_mrp_print - ใบปริ้นการผลิต @M045
โดย nuattawoot อ 25 ก.ย. 2018 6:51 pm บอร์ด สิริกิตติรัตน์ - Developer
1
3
อ 25 ก.ย. 2018 6:57 pm โดย nuattawoot
R - mdsoft_order_mrp_bom_print - ใบปริ้นบอม@045
โดย nuattawoot อ 25 ก.ย. 2018 6:38 pm บอร์ด สิริกิตติรัตน์ - Developer
1
3
อ 25 ก.ย. 2018 6:40 pm โดย nuattawoot
รบกวนช่วยหน่อยค่ะ จะเพิ่ม code สีลง database แต่มันไม่ลงไม่แน่ใจว่าส่งค่าถูกไหม (เขียนด้วย CI ค่ะ)
โดย supattra_su อ 25 ก.ย. 2018 6:14 pm บอร์ด Programming - PHP
2
12
อ 25 ก.ย. 2018 6:28 pm โดย supattra_su
R - mdsoft_ziri_install_all_module -ติดตั้งตัวรวม @M045
โดย nuattawoot อ 25 ก.ย. 2018 5:18 pm บอร์ด สิริกิตติรัตน์ - Developer
1
4
อ 25 ก.ย. 2018 5:30 pm โดย nuattawoot
B - หัวข้อแรกที่ customize ไม่ได้ปรากฏบนฐานจริงครับ [2018-09][007]
โดย muneela อ 25 ก.ย. 2018 3:11 pm บอร์ด Hachanna - Testter
2
10
อ 25 ก.ย. 2018 5:10 pm โดย muneela
การใช้งาน phpbb แบบพื้นฐานเบื้องต้น ส่วนการสร้างกระทู้
โดย Ittichai_chupol อ 25 ก.ย. 2018 2:38 pm บอร์ด phpBB user Guide Knowledge
0
10
อ 25 ก.ย. 2018 2:38 pm โดย Ittichai_chupol
เขือนแก่งกระจาน เขือนสำคัญ เพชรบุรี
โดย Ittichai_chupol อ 25 ก.ย. 2018 12:02 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
อ 25 ก.ย. 2018 12:02 pm โดย Ittichai_chupol
ตัวช่วยในการสร้างฟอร์มกรอกข้อมูลบนเว็บไซต์ที่ดียิ่งขึ้น โดยใช้ Component Mjform Advance ใน Joomla
โดย Parichat อ 25 ก.ย. 2018 11:08 am บอร์ด PHP News
0
5
อ 25 ก.ย. 2018 11:08 am โดย Parichat
งานประจำวันทีี่ 25 กันยายน 2561
โดย prakon อ 25 ก.ย. 2018 10:14 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
13
อ 25 ก.ย. 2018 10:15 am โดย prakon
งานประจำวันที่ 25 กันยายน 2561
โดย pprn อ 25 ก.ย. 2018 10:13 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
4
อ 25 ก.ย. 2018 7:22 pm โดย pprn
งานประจำวันที่ 25 กันยายน 2561
โดย muneela อ 25 ก.ย. 2018 10:11 am บอร์ด M068 - มุนีลา หมัดบาซา
1
7
อ 25 ก.ย. 2018 7:34 pm โดย muneela
งานประจำวันที่ 25 กันยายน 2561
โดย Ittichai_chupol อ 25 ก.ย. 2018 9:38 am บอร์ด M070 - อิทธิชัย ชูผล
3
16
อ 25 ก.ย. 2018 7:24 pm โดย Ittichai_chupol
งานที่ประจำวันที่ 25 กันยายน 2561
โดย tatiya อ 25 ก.ย. 2018 9:28 am บอร์ด M065 - ตติยะ นาชัย
1
3
อ 25 ก.ย. 2018 9:04 pm โดย tatiya
R - mod_jshopping_static โมดูลสถิติ
โดย pprn จ 24 ก.ย. 2018 6:43 pm บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
2
5
อ 25 ก.ย. 2018 7:19 pm โดย pprn
B - สร้างสินค้าไม่ได้ error @M045
โดย thatsawan จ 24 ก.ย. 2018 4:20 pm บอร์ด สิริกิตติรัตน์ - Tester
1
6
จ 24 ก.ย. 2018 6:49 pm โดย nuattawoot
index อบรม Odoo ครั้งที่ 31
โดย tatiya จ 24 ก.ย. 2018 3:52 pm บอร์ด M065 - ตติยะ นาชัย
0
2
จ 24 ก.ย. 2018 3:52 pm โดย tatiya
อยากทำ input type color โชว์ พอ summit ลง database ด้วยค่ะ
โดย supattra_su จ 24 ก.ย. 2018 3:50 pm บอร์ด Programming - PHP
0
17
จ 24 ก.ย. 2018 3:50 pm โดย supattra_su