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?
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:
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ộ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.
fswebcam -r 640x480 --jpeg 100 -D 3 -S 13 fswebcam.jpg
avconvhoạt động tốt hơn.
--no-banner (xóa biểu ngữ dưới cùng bằng dấu thời gian)
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.
Bạn cũng có thể thử uvccapture .
uvccapture -m