ให้เรตสมาชิก: 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
ฮิต
11670
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-28 16:17:48

imgemagick.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.76 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - บอร์ด Odoojob เข้าไม่ได้ครับ
โดย jamepiyawat อ 04 ก.พ. 2020 10:39 am บอร์ด Odoojob.com - Tester
0
4
อ 04 ก.พ. 2020 10:39 am โดย jamepiyawat
สอบถามครับ ต้องการตัดค่าที่ซ้ำกันออกต้องทำไงครับ
โดย chatee supasand จ 03 ก.พ. 2020 2:19 pm บอร์ด Programming - C/C++ & java & Python
2
1169
จ 03 ก.พ. 2020 2:41 pm โดย chatee supasand
กดsaveแล้วerrorครับ(สอนเขียน PHP ติดต่อฐานข้อมูล MySQL อัพโหลดภาพ เพิ่ม ลบ แก้ไข Database)
โดย jutikul1012 จ 03 ก.พ. 2020 11:02 am บอร์ด Programming - PHP
0
1808
จ 03 ก.พ. 2020 11:02 am โดย jutikul1012
อย่าลืมเซฟงานนะ
โดย noppadonsk จ 03 ก.พ. 2020 10:45 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
955
จ 03 ก.พ. 2020 11:01 am โดย thatsawan
ขอคำแนะนำเทคนิคพแดี พอดีผมกำลังหัดทำเว็บด้วย wordpress
โดย Anonymous จ 03 ก.พ. 2020 7:47 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
339
จ 03 ก.พ. 2020 11:24 am โดย mindphp
ทำความเข้าใจกับคีย์ลัด google Sheetsl เพื่อให้การทำงานง่ายขึ้น
โดย nutchasn ส 01 ก.พ. 2020 6:37 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
135
ส 01 ก.พ. 2020 6:37 pm โดย nutchasn
เพิ่มทักษะการใช้โปรแกรม Microsoft Excel ให้คำนวณและวิเคราะห์ได้ง่ายขึ้น
โดย nutchasn ส 01 ก.พ. 2020 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
135
ส 01 ก.พ. 2020 5:53 pm โดย nutchasn
ความแตกต่างของ google Slides กับ powerpoint เพื่อเลือกใช้ในการนำเสนอ
โดย nutchasn ส 01 ก.พ. 2020 5:02 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
121
ส 01 ก.พ. 2020 5:02 pm โดย nutchasn
เรียนรู้การขอStatement เพื่อใช้เป็นหลักฐานยืนยันการเคลื่อนไหวทางการเงิน
โดย nutchasn ส 01 ก.พ. 2020 2:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
125
ส 01 ก.พ. 2020 2:53 pm โดย nutchasn
ทำความเข้าใจภาษีมูลค่าเพิ่ม เพื่อให้เข้าใจว่าทำไมต้องจดทะเบียน
โดย nutchasn ส 01 ก.พ. 2020 12:27 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
106
ส 01 ก.พ. 2020 12:27 pm โดย nutchasn
อยากทราบวิธีการ แสดง icon logo ในหน้า favorite ของ safiri มีการแสดง icon ที่กำหนด
โดย Ittichai_chupol ศ 31 ม.ค. 2020 7:23 pm บอร์ด Programming - PHP
1
306
ศ 31 ม.ค. 2020 7:25 pm โดย mindphp
ขอสอบถามเกี่ยวกับการดึงข้อมูลภายในหน้าเดียวกันครับ
โดย benzas00123 ศ 31 ม.ค. 2020 7:08 pm บอร์ด HTML CSS
1
278
ศ 31 ม.ค. 2020 7:30 pm โดย benzas00123
Q-อยากทราบว่าต้องการย่อขยายรูปต้องทำยังไงค่ะ
โดย nutchasn ศ 31 ม.ค. 2020 6:29 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
252
ศ 31 ม.ค. 2020 6:33 pm โดย Ittichai_chupol
วิธีการปรับเปลี่ยน css เมือจอแสดงผมมีขนาดที่แตกตางกัน โดยการ override template เพื่อลดจำนวน โคด css
โดย Ittichai_chupol ศ 31 ม.ค. 2020 6:03 pm บอร์ด CSS Knowledge
0
214
ศ 31 ม.ค. 2020 6:03 pm โดย Ittichai_chupol
Flask dropzone กับคำสั่งในการตั้งค่าตัว โมดูลต่างๆ
โดย benzas00123 ศ 31 ม.ค. 2020 6:02 pm บอร์ด Python Knowledge
0
1000
ศ 31 ม.ค. 2020 6:02 pm โดย benzas00123
การจัดซื้อใน โปรแกรมOpen erp ให้มีประสิทธิภาพ
โดย nutchasn ศ 31 ม.ค. 2020 5:56 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
116
ศ 31 ม.ค. 2020 5:56 pm โดย nutchasn
Flask dropzone โมดูลสำหรับการสร้าง Drop file อย่างง่าย
โดย benzas00123 ศ 31 ม.ค. 2020 5:21 pm บอร์ด Python Knowledge
0
206
ศ 31 ม.ค. 2020 5:21 pm โดย benzas00123
ทำความรู้ ภ.ง.ด 94 เพื่อให้เข้าใจการยื่นภาษีครึ่งปี
โดย nutchasn ศ 31 ม.ค. 2020 3:10 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
161
ศ 31 ม.ค. 2020 3:10 pm โดย nutchasn
เรียนรู้การยื่นภาษีเงินได้บุคคลธรรมดา เพื่อให้ยื่นภาษีได้ถูกต้อง
โดย nutchasn ศ 31 ม.ค. 2020 2:42 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
117
ศ 31 ม.ค. 2020 2:42 pm โดย nutchasn
การหักลดหย่อนภาษี สิทธิประโยชน์ที่ทำให้เสียภาษีน้อยลง
โดย nutchasn ศ 31 ม.ค. 2020 2:07 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
172
ศ 31 ม.ค. 2020 2:07 pm โดย nutchasn