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 webcam
là 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, -r
viết tắt của Độ phân giải hình ảnh , viết tắt --jpeg
của loại định dạng của hình ảnh & 85
cho tiêu chuẩn chất lượng của nó, -D
là 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
avconv
hoạ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 avconv
hoặ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/video0
dưới dạng một video4linux2
thiết bị tương thích, thiết lập độ phân giải 640x480
, phát trong 2 giây ( 00:00:02
hoặc đơn giản 2
), sau đó chụp one
mộ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 -ss
tham 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