Chụp ảnh từ thiết bị đầu cuối


58

Tôi muốn có thể chụp ảnh bằng webcam từ thiết bị đầu cuối. Hình ảnh này sau đó sẽ được lưu vào một tập tin. Điều này có thể giải quyết như thế nào?

Câu trả lời:


32

Nếu bạn đang tìm kiếm một cái gì đó tự động webcamlà khá tốt. Nó có rất nhiều tùy chọn đáng yêu để đẩy các bức ảnh qua Internet.

Nếu bạn muốn một cái gì đó thủ công hơn và chúng tôi đang nói về một máy ảnh được hỗ trợ bởi V4L / UVC (hầu hết trong số họ), bạn có thể sử dụng streamerđể chụp khung hình từ thiết bị:

streamer -f jpeg -o image.jpeg

Cảm ơn Oli. Không biết có một chương trình webcam có tên là LIVE (The trớ trêu ...). Và vâng, webcam nằm trong danh sách được hỗ trợ V4L.
Luis Alvarado

46

Có một ứng dụng khác có thể được sử dụng để chụp ảnh từ webcam có tên là Fswebcam . bạn có thể cài đặt nó với

sudo apt-get install fswebcam

bạn có thể có một bức ảnh mẫu với lệnh sau.

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

Trong cú pháp mã ở trên, -rviết tắt của Độ phân giải hình ảnh , viết tắt --jpegcủa loại định dạng của hình ảnh & 85cho tiêu chuẩn chất lượng của nó, -Dlà viết tắt của độ trễ được đặt trước khi chụp.

Bây giờ hình ảnh của bạn cuối cùng đã được lưu với tên web-cam-shot.jpg.

Mong rằng sẽ giúp.


9
Trong trường hợp của tôi, máy thử nghiệm của tôi, tôi đã phải bỏ qua các khung hình để có được hình ảnh đúng. Nếu tôi chụp những khung hình đầu tiên thì ảnh rất tối, vì máy ảnh chưa sẵn sàng. fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
msmafra

@tenshimsm Tôi đã dành 10 phút để tìm ra điều gì không ổn với fswebcam của tôi và sau đó gỡ bỏ gói. Cài đặt lại lần nữa chỉ để thử cách tiếp cận của bạn, 30 khung làm việc cho tôi. Cảm ơn :)
Chirag Bhatia - chirag64

Với webcam Sodial cạnh 5,99 € của tôi, avconvhoạt động tốt hơn.
Avio

Điều tôi thấy hữu ích là: v4lctl sáng 50% # apt-get install xawtv
Grzegorz Wierzowiecki

--no-banner (xóa biểu ngữ dưới cùng bằng dấu thời gian)
João Cartucho

20

Sử dụng avconvhoặc ffmpeg, bạn cũng có thể chụp khung hình từ thiết bị của mình. Ví dụ:

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

hoặc là

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

Điều này sẽ mở /dev/video0dưới dạng một video4linux2thiết bị tương thích, thiết lập độ phân giải 640x480, phát trong 2 giây ( 00:00:02hoặc đơn giản 2), sau đó chụp onemột khung hình duy nhất, lưu nó vào /tmp/out.jpg.

Kiểm tra xem thiết bị của bạn là /dev/video0, vì nó có thể khác nhau cho bạn.

Độ phân giải có sẵn phụ thuộc vào webcam của bạn. Của tôi lên tới 640x480 và tôi đã kiểm tra nó bằng một công cụ có tên qv4l2, được sử dụng để định cấu hình thiết bị video4linux2.

Các -sstham số được sử dụng để cho phép các thiết bị để khởi động một cách chính xác. Ở đây trong các thử nghiệm của tôi, có một hiệu ứng mờ dần trong khi máy ảnh đang được bật, vì vậy, nếu tôi bỏ qua -ss 2, khung hình đã chụp sẽ rất tối.


Tôi thích giải pháp này vì tôi đã cài đặt avconv. Ngoài ra, đầu ra của avconv cũng đưa ra gợi ý cho độ phân giải tối đa, vì trình điều khiển v4l hiển thị nếu nó phải quay lại thông số kỹ thuật thấp hơn.
icedwater

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.