สร้างภาพเคลื่อนไหว GIF ของวัตถุขนาดเล็ก: 4 ขั้นตอน

สร้างภาพเคลื่อนไหว GIF ของวัตถุขนาดเล็ก: 4 ขั้นตอน

สารบัญ:

Anonim

แนวคิดก็คือนำคลิปวิดีโอสั้น ๆ ของวัตถุที่หมุนแล้วแปลงเป็นไฟล์ GIF89a ซึ่งจะเล่นวนซ้ำไม่รู้จบในเว็บเบราว์เซอร์

ด้วยการใช้เครื่องเล่นแผ่นเสียงแบบใช้เครื่องยนต์เช่นเครื่องเล่นแผ่นเสียงวัตถุสามารถทำให้หมุนด้วยความเร็วคงที่ซึ่งทำให้กระบวนการง่ายขึ้นมาก - สามารถบันทึกวิดีโอ norrmal แทนที่จะใช้ภาพเคลื่อนไหวแบบสต็อปโมชัน

วัสดุ:

ขั้นตอนที่ 1: เตรียมแผ่นเสียง

เอาแกนหมุนออกจากเครื่องเล่นแผ่นเสียง - หมุดที่เก็บบันทึกอยู่กึ่งกลาง วางการ์ดหรือวัสดุอื่น ๆ บนแผ่นเสียงเพื่อให้สามารถหมุนได้ฟรี วางการ์ดเพิ่มเติมไว้ด้านล่างและด้านหลังของแผ่นเสียงเพื่อทำหน้าที่เป็นฉากหลัง - หรืออย่างน้อยก็เพื่อให้ดูไม่ชัดนัก

หากใช้กรีนการ์ดพื้นหลังอาจถูกแทนที่ในภายหลังโดยใช้กระบวนการคีย์ Chroma

ขั้นตอนที่ 2: ถ่ายวิดีโอ

ตั้งค่ากล้องวิดีโอบนขาตั้งกล้องเพื่อให้กล้องมีมุมมองที่ชัดเจนของแบบจำลองพร้อมการ์ดในพื้นหลัง มันไม่สำคัญมากนักหากวัตถุอย่างเช่นแขนเสียงสามารถมองเห็นได้จากด้านหนึ่งเนื่องจากวิดีโออาจถูกครอบตัด แต่ตัวแบบควรหมุนทั้งหมดในพื้นที่ที่มีพื้นหลังที่ไม่มีสิ่งกีดขวาง

ตั้งค่าแสงสว่าง เพื่อหลีกเลี่ยงเงาที่เห็นได้ชัดฉันใช้หลอดไฟมือถือขนาดเล็กที่มีตัวกระจายแสงกระเด้งออกมาจากเพดานสีขาว แต่ก็ไม่สว่างพอสำหรับคุณภาพวิดีโอที่ดี (รูปภาพที่นี่ถ่ายด้วยแสงของห้อง)

วางโมเดลไว้ที่กึ่งกลางของแผ่นเสียงและเริ่มหมุน ใช้เวลาประมาณหนึ่งวินาทีของวิดีโอ - หมุนอย่างน้อยหนึ่งครั้ง หากต้องการถ่ายภาพมากขึ้นด้วยแสงที่แตกต่างกันความสูงของกล้องโฟกัส ฯลฯ

ขั้นตอนที่ 3: ประมวลผลวิดีโอ

วิธีการประมวลผลวิดีโอขึ้นอยู่กับซอฟต์แวร์ที่คุณมีอยู่ ฉันใช้ Linux กับโปรแกรมต่อไปนี้:

mplayer - เครื่องเล่นวิดีโอ

ImageMagick - การจัดการภาพสคริปต์

xv (หรือ eog, display เป็นต้น) - โปรแกรมดูรูปภาพและการจัดการ

whirlgif หรือ gifsicle - เครื่องมือในการสร้าง GIF แบบเคลื่อนไหว

xanim - เครื่องมือดูภาพเคลื่อนไหว

(นี่เป็นเพียงชุดซอฟต์แวร์ฟรีที่ฉันมีอยู่แล้วและคุ้นเคยมากกว่าที่ฉันจะแนะนำคนอื่น

ได้รับ ImageMagick ได้รับการติดตั้งล่วงหน้าใน Linux ดิสทริบิวชั่นมากมาย)

ด้วยชุดเครื่องมือนี้ฉันแปลงวิดีโอเป็นชุดของเฟรม JPEG ครอบตัดและเลือกชุดย่อยของรูปภาพเหล่านี้

แปลงเป็น GIF และประกอบเป็นภาพเคลื่อนไหว GIF คอมโพสิต

$ mplayer -vo jpeg MVI_0035.AVI

สิ่งนี้จะสร้างหนึ่งภาพต่อหนึ่งเฟรม, 00001.jpg, 00002.jpg, 00003.jpg เป็นต้น

ค้นหากล่องขอบเขตที่มีรูปแบบในการหมุนทั้งหมดและแยกองค์ประกอบที่ไม่ต้องการเช่นแขนเสียง ฉันใช้ xv เพื่อวาดกล่องและแสดงพิกัด แต่บางทีมันอาจจะง่ายกว่าที่จะคาดเดาและปรับกล่องครอบตัดในภายหลัง รูปภาพด้านล่างแสดงกล่องขอบทั่วไป

ระบุสองเฟรมอย่างแน่นอนหนึ่งการหมุนของแผ่นเสียงแยกกัน (ประมาณ 2 วินาทีสำหรับการตั้งค่า LP ที่ 33 RPM) บันทึกเฟรมที่แทรกเข้ามาทั้งหมด ฉันพบว่าง่ายที่สุดในการลบสิ่งที่ไม่ต้องการ เช่น. ถ้า frames 1 และ 54 เหมือนกันฉันลบ frames 54, 55, 56 … 103, ออกจากไฟล์หมายเลข seqentially 0001.jpg ฯลฯ

แปลงและครอบตัดรูปภาพเป็น GIF ต่อไปนี้ใช้งานได้สำหรับฉันโดยใช้คำสั่ง ImageMagick "แปลง" ทุบตี:

$ สำหรับ f ใน 0 * jpg; ทำ

g = `echo $ f | sed s / jpg / gif /`

แปลง -crop 400x350 + 160 + 78 $ f tmp.jpg

แปลง - ปรับขนาด 200x175 tmp.jpg $ g

เสร็จแล้ว

ที่ให้ภาพต่อเนื่อง 00001.gif, 00002.gif เป็นต้นขนาดครึ่งหนึ่งของภาพต้นฉบับถูกตัดจากกึ่งกลางของแต่ละเฟรม

หากพื้นที่ที่ครอบตัดไม่ถูกต้องคุณสามารถเปลี่ยนตัวเลขและเรียกใช้คำสั่งอีกครั้งด้วยการกดแป้นสองครั้ง

JPEG กลางอาจไม่จำเป็น แต่ถ้าไม่มีภาพสุดท้ายของฉันก็จะถูกชดเชยบนหน้าจอ

รวบรวมเฟรม GIF แต่ละภาพเป็นภาพเคลื่อนไหวเดียวเช่น

$ whirlgif -loop 0 -o MVI_0035.gif

หรือ

$ gifsicle --colors 64 -O1 - ระวัง - วันที่ 10 --loopcount = ถาวร 00 * gif> MVI_0035.gif

GIF ที่เป็นผลลัพธ์สามารถดูได้ในเว็บเบราว์เซอร์เช่น Firefox หรือในเช่น xanim (ซึ่งสามารถผ่านขั้นตอนเดียวผ่านภาพเคลื่อนไหวได้)

ขั้นตอนที่ 4: การเพิ่มพื้นหลัง

ในการเพิ่มพื้นหลังฉันครอบคลุมพื้นหลังการ์ดสีน้ำตาลด้วยกระดาษสีฟ้าและถ่ายวิดีโอของแบบจำลองการหมุนอีกอันหนึ่ง จากนั้นด้วยแสงเดียวกันฉันจึงถอดแบบจำลองและถ่ายวิดีโอของแผ่นเสียงโดยไม่ต้องขยับกล้อง จากนั้นใช้ ImageMagick ฉันลบภาพพื้นหลังออกจากเบื้องหน้าและทำมาสก์สองรูปเป็นค่าบวกและลบ

จากนั้นฉันปิดบังพื้นหลังในแต่ละเฟรมของวิดีโอปิดบังรูปร่างของนางแบบในภาพพื้นหลังและเพิ่มภาพสองภาพ

ทั้งหมดนี้เกิดขึ้นภายในวงดังนั้นแต่ละเฟรมจะถูกประมวลผลแยกกันก่อนที่จะรวมเข้าใน GIF แบบเคลื่อนไหว

$ คอมโพสิต - แนะนำลบ back.gif frame.gif minus.gif

$ แปลง -white-threshold 8000 -gamma 0.3 -colors 2 minus.gif mask.gif

$ แปลง -negate mask.gif neg-mask.gif

$ คอมโพสิต - แนะนำทวีคูณ frame.gif mask.gif masked-frame.gif

$ คอมโพสิต - เพิ่มทวีคูณ -geometry + 50 + 90 neg-mask.gif beach.gif masked-beach.gif

$ composite -compose add -geometry + 50 + 90 masked-frame.gif masked-beach.gif final.gif

แพ็คเกจซอฟต์แวร์ตัดต่อวิดีโอจำนวนมากจะมีฟังก์ชั่นนี้เป็น "Chroma key" ในตัว