如何从红宝石摄像头拍摄快照?我知道网络摄像头设备在/ dev/video0上,但是如何从中获取图片?从红宝石摄像头抓取快照
回答
我是Hornetseye的开发者。您可以按如下方式使用HornetsEye的V4L2接口捕捉图像。
require 'rubygems'
require 'hornetseye_v4l2'
require 'hornetseye_xorg'
require 'hornetseye_rmagick'
include Hornetseye
input = V4L2Input.new '/dev/video0'
img = X11Display.show { input.read }
img.to_ubytergb.save_ubytergb 'test.png'
目前支持的色彩空间是UYVY,YUYV,YUV420,GRAY,RGB24。请注意,目前还不支持其他色彩空间,如MJPEG。
由于您使用的是Linux,请尝试videodog。这是一个小程序,它可以完成一件事,并做得很好:从/ dev/video0设备中捕获一帧。从这一点开始,您可以使用任何您想要处理从videodog获得的JPEG图像的Ruby技术。
我从来没有真正使用它,但hornetseye看起来不错。这个问题也已经被问here
我一直在尝试使用hornetseye,但它似乎没有充分发挥作用。 – Malfist 2010-01-15 17:30:56
的Video4Linux API涉及发送特殊ioctl S到/dev/video*
装置,在堆积结构数据; Ruby不是一件容易的事情。 (这还不是全部由C那么多的乐趣,无论是。)
ruby-v4l是采用video4linux在Ruby中捕捉画面的扩展库。
在Debian的Orphaned,因为它的维护者并没有自2005年以来一直活跃,因此,如果它不工作,我不认为你能得到多少支持。
更现代的解决方案可能是为Ruby创建合适的libv4l绑定。但是,我不知道目前的任何工作。
随着ruby-opencv
宝石:
require "opencv"
capture = OpenCV::CvCapture.open
sleep 1 # Warming up the webcam
capture.query.save("image.jpg")
capture.close
并安装在Mac OS的OpenCV:brew install homebrew/science/opencv --HEAD
。
- 1. ,石头,剪刀红宝石
- 2. ,石头,剪刀红宝石
- 3. 从网络摄像头拍摄网站快照
- 4. Javascript摄像头快照拉得太大
- 5. 从红宝石
- 6. 从红宝石
- 7. 从红宝石
- 8. 提取红宝石
- 9. 获取红宝石
- 10. 如何在Flex中拍摄摄像头快照图片?
- 11. 在没有JMF的java中拍摄摄像头快照?
- 12. 红宝石宝石mongo取决于bson1.10.12
- 13. 红宝石:从YAML
- 14. 从摄像头抓取的图像与OpenCV的
- 15. 如何从网络摄像头检索图片快照?
- 16. 镜像终端与获取红宝石
- 17. 红宝石可以操作和使用网络摄像头等外设吗?
- 18. 宝石cmd从红宝石脚本
- 19. 如何加快网页抓取IDS-引入nokogiri /红宝石迭代
- 20. Perl的像红宝石
- 21. 的Apache +红宝石像PHP
- 22. 解析像红宝石
- 23. 红宝石流API像twitter
- 24. 红宝石散列在红宝石
- 25. 宝石安装红宝石
- 26. 调试宝石红宝石
- 27. Twitter的红宝石宝石
- 28. 红宝石宝石 - LoadError
- 29. 错误红宝石宝石
- 30. 卸载红宝石宝石
宝石是['hornetseye-v4l2'](https://rubygems.org/gems/hornetseye-v4l2) – Dorian 2016-10-08 21:42:33
但是这在macOS上不起作用,OpenCV示例工作原理如下:http://stackoverflow.com/ a/39938139/407213 – Dorian 2016-10-08 22:44:10
@Dorian是的,这是正确的。它只能在GNU/Linux下运行。 – wedesoft 2016-10-18 21:36:14