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

imgemagick.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.76 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ฟุตบอล-บาสเกตบอล
โดย Nhani ส 23 มี.ค. 2019 7:56 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
ส 23 มี.ค. 2019 7:56 pm โดย Nhani
export jar ไปใช้เครื่องอื่นพร้อม database
โดย Saharat Saharat ส 23 มี.ค. 2019 6:46 pm บอร์ด Programming - C/C++ & java & Python
0
25
ส 23 มี.ค. 2019 6:46 pm โดย Saharat Saharat
งานประจำวันที่ 23 มีนาคม 2562
โดย napharat079 ส 23 มี.ค. 2019 9:41 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
3
9
ส 23 มี.ค. 2019 7:08 pm โดย napharat079
งานประจำวันที่ 23 มีนาคม 2562
โดย Four ส 23 มี.ค. 2019 9:08 am บอร์ด M077 - อิษยา งามสอาด
1
4
ส 23 มี.ค. 2019 2:00 pm โดย Four
Q - ผมติดตั้ง โมดูลฟอนต์ (oecn_base_fonts) ไม่ได้ ปัญหานี้เกิดบนเครื่อง Ubuntu 16.04 นะครับ
โดย tatiya ศ 22 มี.ค. 2019 5:51 pm บอร์ด OpenERP - MD-ERP
1
7
ศ 22 มี.ค. 2019 6:08 pm โดย tatiya
วิธีทำให้ผมสวย
โดย สริญญา สมสา ศ 22 มี.ค. 2019 3:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
ศ 22 มี.ค. 2019 3:30 pm โดย สริญญา สมสา
วิธีสร้าง color palette จากรูปภาพของตัวเองได้ง่ายๆไม่ซ่ำใคร
โดย napharat079 ศ 22 มี.ค. 2019 3:28 pm บอร์ด Graphic design
0
30
ศ 22 มี.ค. 2019 3:28 pm โดย napharat079
อยากทราบวิธีการ เปลี่ยน รูป icon ที่ Tab ของ Browser บน เว็บบอร์ด phpbb
โดย Ittichai_chupol ศ 22 มี.ค. 2019 3:28 pm บอร์ด Programming - PHP
1
30
ศ 22 มี.ค. 2019 3:34 pm โดย mindphp
Stedia Google Game Platform คืออะไร
โดย Ittichai_chupol ศ 22 มี.ค. 2019 2:36 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
27
ศ 22 มี.ค. 2019 2:36 pm โดย Ittichai_chupol
สอนวิธีทำ warp text รูปร่างอักษรแบบเก๋ๆ ด้วย photoshop
โดย napharat079 ศ 22 มี.ค. 2019 1:38 pm บอร์ด Graphic design
0
22
ศ 22 มี.ค. 2019 1:38 pm โดย napharat079
One ui คืออะไร
โดย Ittichai_chupol ศ 22 มี.ค. 2019 1:29 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
22
ศ 22 มี.ค. 2019 1:29 pm โดย Ittichai_chupol
ประโยชน์ของนม
โดย สริญญา สมสา ศ 22 มี.ค. 2019 11:27 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
ศ 22 มี.ค. 2019 11:27 am โดย สริญญา สมสา
งานประจำวันที่ 22 มีนาคม 2562
โดย Four ศ 22 มี.ค. 2019 9:04 am บอร์ด M077 - อิษยา งามสอาด
1
6
ศ 22 มี.ค. 2019 6:54 pm โดย Four
งานประจำวันที่ 22 มีนาคม 2562
โดย napharat079 ศ 22 มี.ค. 2019 8:55 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
3
10
ศ 22 มี.ค. 2019 6:56 pm โดย napharat079
งานประจำวันที่ 22 มีนาคม 2562
โดย สริญญา สมสา ศ 22 มี.ค. 2019 8:52 am บอร์ด MT32 - นางสาวสริญญา สมสา
2
11
ศ 22 มี.ค. 2019 6:57 pm โดย สริญญา สมสา
Q - ตอนกดคำนวนแล้วระยะทางไปแสดงทั้ง 2 ช่อง
โดย Parichat พฤ 21 มี.ค. 2019 10:44 pm บอร์ด Joomla Dev
8
21
ศ 22 มี.ค. 2019 4:25 pm โดย tsukasaz
พื้นฐานโปรเเกรม Open ERP
โดย สริญญา สมสา พฤ 21 มี.ค. 2019 9:14 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
34
พฤ 21 มี.ค. 2019 9:14 pm โดย สริญญา สมสา
งานประจำวันที่ 21 มีนาคม 2562
โดย napharat079 พฤ 21 มี.ค. 2019 9:54 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
1
6
พฤ 21 มี.ค. 2019 7:13 pm โดย napharat079
งานประจำวันที่ 21 มีนาคม 2562
โดย Four พฤ 21 มี.ค. 2019 9:31 am บอร์ด M077 - อิษยา งามสอาด
1
6
พฤ 21 มี.ค. 2019 7:05 pm โดย Four
Q - ขอวิธีแสดงแสดงจังหวัดต้นทางและจังหวัดปลายทางโดยใช้ Ajax ในการดึงชื่อจังหวัดต้นทางและปลายทางจากฐานข้อมูลมาแสดง
โดย Parichat พฤ 21 มี.ค. 2019 2:15 pm บอร์ด Joomla Dev
6
27
พฤ 21 มี.ค. 2019 6:40 pm โดย Parichat