![สร้างภาพเคลื่อนไหว GIF ของวัตถุขนาดเล็ก: 4 ขั้นตอน สร้างภาพเคลื่อนไหว GIF ของวัตถุขนาดเล็ก: 4 ขั้นตอน](https://img.gwsigeps.com/img/circuits/make-an-animated-gif-of-a-small-object-2.gif)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: เตรียมแผ่นเสียง
- ขั้นตอนที่ 2: ถ่ายวิดีโอ
- ขั้นตอนที่ 3: ประมวลผลวิดีโอ
- ขั้นตอนที่ 4: การเพิ่มพื้นหลัง
แนวคิดก็คือนำคลิปวิดีโอสั้น ๆ ของวัตถุที่หมุนแล้วแปลงเป็นไฟล์ 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" ในตัว