ถ่ายภาพจากสถานี


58

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

คำตอบ:


32

หากคุณกำลังมองหาสิ่งที่webcamเป็นไปโดยอัตโนมัติค่อนข้างดี มีตัวเลือกที่น่ารักมากมายสำหรับการผลักภาพถ่ายผ่านอินเทอร์เน็ต

หากคุณต้องการคู่มือเพิ่มเติมและเรากำลังพูดถึงกล้องที่รองรับโดย V4L / UVC (ส่วนใหญ่) คุณสามารถใช้streamerเพื่อจับภาพเฟรมจากอุปกรณ์:

streamer -f jpeg -o image.jpeg

ขอบคุณ Oli ไม่ทราบว่ามีโปรแกรมเว็บแคมชื่อ WEBCAM (The ประชด ... ) ใช่เว็บแคมอยู่ในรายการที่รองรับ V4L
Luis Alvarado

46

มีโปรแกรมอื่นที่สามารถนำมาใช้ในการจับภาพจากเว็บแคมที่มีชื่อเป็น Fswebcam คุณสามารถติดตั้งได้ด้วย

sudo apt-get install fswebcam

คุณสามารถถ่ายภาพตัวอย่างด้วยคำสั่งต่อไปนี้

fswebcam -r 640x480 --jpeg 85 -D 1 web-cam-shot.jpg

ในไวยากรณ์รหัสข้างต้น-rหมายถึงความละเอียดของภาพ--jpegยืนสำหรับประเภทรูปแบบของภาพและ85มาตรฐานคุณภาพ-Dย่อมาจากการตั้งค่าความล่าช้าก่อนการจับภาพ

ตอนนี้ภาพของคุณจะถูกบันทึกด้วยชื่อ web-cam-shot.jpg

หวังว่าจะช่วย


9
ในกรณีของฉันเครื่องทดสอบของฉันฉันต้องข้ามเฟรมเพื่อให้ได้รูปภาพที่ถูกต้อง ถ้าฉันใช้เฟรมแรกภาพจะมืดมากเพราะกล้องยังไม่พร้อม fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
msmafra

@ tenshimsm ฉันใช้เวลา 10 นาทีหาว่ามีอะไรผิดปกติกับ fswebcam ของฉันและจากนั้นลบแพ็คเกจ ติดตั้งอีกครั้งเพื่อลองใช้แนวทางของคุณมี 30 เฟรมที่เหมาะกับฉัน ขอบคุณ :)
Chirag Bhatia - chirag64

ด้วยเว็บแคม Sodial ที่มีเลือดไหล 5.99 €ของฉันavconvทำงานได้ดีขึ้น
Avio

สิ่งที่ฉันมีประโยชน์คือแผล: v4lctl bright 50% # apt-get install xawtv
Grzegorz Wierzowiecki

--no-banner (ลบแบนเนอร์ด้านล่างที่มีการประทับเวลา)
João Cartucho

20

ใช้avconvหรือffmpegคุณสามารถจับภาพเฟรมจากอุปกรณ์ของคุณเช่นกัน ตัวอย่างเช่น:

avconv -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

หรือ

ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

นี้จะเปิด/dev/video0เป็นvideo4linux2อุปกรณ์ที่รองรับ, การตั้งค่าความละเอียดในการ640x480สตรีมเป็นเวลา 2 วินาที ( 00:00:02หรือเพียงแค่2) แล้วจับกรอบเดียวประหยัดมันone/tmp/out.jpg

ตรวจสอบว่าอุปกรณ์ของคุณเป็น/dev/video0เพราะมันจะแตกต่างกันสำหรับคุณ

ความละเอียดที่มีจะขึ้นอยู่กับเว็บแคมของคุณ ฉันไปถึง 640x480 และฉันตรวจสอบด้วยเครื่องมือที่เรียกว่าqv4l2ซึ่งใช้ในการกำหนดค่าอุปกรณ์ video4linux2

-ssพารามิเตอร์จะใช้ในการช่วยให้อุปกรณ์ที่จะเริ่มต้นขึ้นอย่างถูกต้อง ที่นี่ในการทดสอบของฉันมีผลจางในขณะที่กล้องกำลังเปิดดังนั้นถ้าฉันเพิ่งละเว้น-ss 2กรอบการจับภาพจะมืดมาก


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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.