Ubuntu下的网络摄像头(usb)访问

我一直在尝试使用Python访问我的网络摄像头,但是我失败了
痛苦.该相机在Ubuntu下正常工作(使用Camora和
Skype),但我无法获得网络摄像头或LIBFG访问我的网络摄像头.
首先,我尝试了WebCamspy(http://webcamspy.sourceforge.net/).那
需要催化性和pyparallel,以及可选的pyi2c.运行
网络摄像头会导致:
异常例外.attributeError:"并行实例没有
属性'_fd'" 忽略
这似乎来自导入I2C.打开应用程序窗口,
但是有一个错误消息:
找不到视频源
接下来,我尝试了libfg(http://antonym.org/libfg).我建造了
Python绑定并安装了它.不幸的是,以下内容:
结果是:
FG_OPEN():打开视频设备失败:没有此类文件或目录
由于摄像机在Ubuntu本身正常工作,所以我猜是
问题在于Python库(甚至更可能,我的用法
他们).这里有人成功地访问他们的
使用Python上的Linux网络摄像头?否则我必须居住到Windows和
videocapture(依赖于Win32 API,因此仅Windows),
我宁愿不做的事情.
谢谢你的帮助,
2b
===============
我正在努力:
网络摄像头:Logitech QuickAm Pro 400
Ubuntu
Python 2.5

# 回答1


Berco Beute写道:
结果是:
FG_OPEN():打开视频设备失败:没有此类文件或目录
由于摄像机在Ubuntu本身正常工作,所以我猜是
问题在于Python库(甚至更可能,我的用法
他们).这里有人成功地访问他们的
使用Python上的Linux网络摄像头?否则我必须居住到Windows和
videocapture(依赖于Win32 API,因此仅Windows),
我宁愿不做的事情.
自从我这样做以来已经已经 *了 * - 所以用一粒盐就把它带走.
但是,那时我能够使用GQCAM访问摄像机.看着
进入的来源表明,它所做的一切都是简单的
ioctl-calls和a /dev /video*device的阅读.
那对我来说是一个障碍...
此外,您可以考虑使用GSTREAMER + PYTHON绑定
那.我也成功使用了它们 - 如果我记得这次对话
今晚左右,我将向您发送消息来源.
迪兹
diez
# 回答2


谢谢,那太好了.
当我这样做时,我想知道如何显示视频预览.这是
有人使用视频贴图(Win32 lib)和Pygame,但我宁愿
使用GUI框架并直接预览/捕获视频.
2B
# 回答3


Berco Beute写道:
Gstreamer有一个预览窗口.
diez
# 回答4


Le Tue,2008年4月15日05:21:54 -0700,Berco Beute Aâ©Critâ*:
结果是:
FG_OPEN():打开视频设备失败:没有此类文件或目录
由于摄像机在Ubuntu本身正常工作,所以我猜是
问题在于Python库(甚至更可能,我的用法
他们).这里有人吗 成功地访问了他们
使用Python上的Linux网络摄像头?否则我必须居住到Windows和
videocapture(依赖于Win32 API,因此仅Windows),
我宁愿不做的事情.
谢谢你的帮助,
我不知道这是否解决了您的问题,但是要从
Linux下的摄像头,使用V4L2 API,我围绕此编写了一个小包装器
API.
它称为Pyvideograb,此处:http://laurent.pointal.org/python/pr...grab/index.pih
注意:此库中没有自动事物,只是包装器
V4L2,因此您必须知道您的相机支持哪些选项和图像格式
并使用这些(您可能必须自己转换图像 - 请参阅PIL和
用于快速数据处理功能的numpy).找到支持的选项
您可以使用XAWTV并给予其临时CLI选项使其详细.
A+
劳伦特.
- -
laurent Pointal -Lauthdodedydeyde*****@laposte.net
# 回答5


BERCO BEUTE SCHRIEB:
干得好. http://roggisch.de/vidio.tgz
diez
# 回答6


4月15日,11:18 PM," Diez B. Roggisch" 干得好. http://roggisch.de/vidio.tgz
迪兹
精彩的!非常感谢!
我没时间了,但是安装了必要的好东西
使用此处的漂亮软件包:http://aruiz.typepad.com/siliconisla...ne_win32_.html
同时,我切换到Windows.我遇到了问题
"导入GST"投掷:
=========================
Trackback(最近的最新电话):
文件" ",第1行,<模块>
文件" h:\ python25 \ lib \ lib \ site-packages \ gst-0.10 \ gst \ gst \ __ init__.py",line
87,in dule>
来自_GST导入 *
Inverterror:DLL负载失败:找不到指定的模块.
=========================
I've tried reinstalling gstreamer (for windows): http://gstreamer.freedesktop.org/pkg...0.17.setup.zip http://gstreamer.freedesktop.org/pkg...0.17.win32.zip
但这无济于事.我收到有关" libgstinterfaces"的投诉
同样...我对这些图书馆太陌生了,以至于没有线索
这里怎么了...
明天我会进一步研究.
2B
# 回答7


在4月15日,晚上11:45,Berco Beute 更确切地说,当进行"导入GST"时,Python Shell会弹出
错误对话框说:
"此应用程序未能启动,因为
找不到libgstinterfaces-0.10.dll."
2B
# 回答8


Berco Beute写道:http://gstreamer.freedesktop.org/pkg ... arterer/gstre ...
更确切地说,当进行"导入GST"时,Python Shell会弹出
错误对话框说:
"此应用程序未能启动,因为
找不到libgstinterfaces-0.10.dll."
对不起,但我真的无法就GST安装问题发表评论 -
由于Ubuntu而为我工作.
也许如果您现在使用Windows,有更好的选择 - 但是我是一个
*尼克斯男孩:)
diez
# 回答9


4月16日,下午12:19," Diez B. Roggisch" 我是我:),但是我写的应用程序必须运行 *
操作系统 从90年代*.
我正在努力不在C#/.网中实现该应用程序,但我是
用完开源替代方案. videocapture *几乎 *工作
现在我也陷入了Gstreamer Road ...
2B
# 回答10


Berco Beute写道:
我是我:),但是我写的应用程序必须运行 *
90年代*的操作系统.
我正在努力不在C#/.网中实现该应用程序,但我是
用完开源替代方案. videocapture *几乎 *工作
现在我也陷入了Gstreamer Road ...
那怎么说? "如果您的ROM,那就像罗马人一样做".不要战斗
视窗.并服用Ironpython来减轻使用的痛苦:)
diez
# 回答11


Berco Beute写道:
结果是:
FG_OPEN():打开视频设备失败:没有此类文件或目录
由于摄像机在Ubuntu本身正常工作,所以我猜是
问题在于Python库(甚至更可能,我的用法
他们).这里有人成功地访问他们的
使用Python上的Linux网络摄像头?否则我必须居住到Windows和
videocapture(依赖于Win32 API,因此仅Windows),
我宁愿不做的事情.
谢谢你的帮助,
2b
===============
我正在努力:
网络摄像头:Logitech QuickAm Pro 400
Ubuntu
Python 2.5

不久前,我在Linux下玩网络摄像头服务器
使用V4L-我发现了可能有帮助的代码(对我有用).
显然,它需要X运行才能工作,并安装了相关的LIB.
请注意,这不是我的代码,而是我工作的好起点
从.我找不到指向原始文章的链接,但要归功于作者.
导入pygame
导入图像
从pygame.locals Import *
导入系统
导入OPENCV
#这对于捕获/显示图像很重要
从OpenCV Import Highgui
相机= HighGui.CvCreateCamerAcapture(0)
def get_image():
IM = Highgui.cvqueryframe(相机)
#convert ipl映像到pil图像
返回opencv.Adaptors.ipl2pil(IM)
FPS = 30.0
pygame.init()
窗口= pygame.display.set_mode((320,240))
pygame.display.set_caption("网络摄像头")
屏幕= pygame.display.get_surface()
而真:
事件= pygame.event.get()
对于活动中的事件:
如果event.type == quit或event.type == keydown:
sys.exit(0)
im = get_image()
pg_img = pygame.image.frombuffer(im.tostring(),im.size,im.mode)
screen.blit(pg_img,(0,0))
pygame.display.flip()
pygame.time.delay(int(1000 * 1.0/fps))
祝您好运
bgeddy

# 回答12


在4月16日,下午2:26,Yoz 不久前,我在Linux下玩网络摄像头服务器
使用V4L-我发现了可能有帮助的代码(对我有用).
显然,它需要X运行才能工作,并安装了相关的LIB.
请注意,这不是我的代码,而是我工作的好起点
从.我找不到指向原始文章的链接,但要归功于作者.
导入pygame
导入图像
从pygame.locals Import *
导入系统
导入OPENCV
#这对于捕获/显示很重要 ying图像
从OpenCV Import Highgui
相机= HighGui.CvCreateCamerAcapture(0)
def get_image():
IM = Highgui.cvqueryframe(相机)
#convert ipl映像到pil图像
返回opencv.Adaptors.ipl2pil(IM)
FPS = 30.0
pygame.init()
窗口= pygame.display.set_mode((320,240))
pygame.display.set_caption("网络摄像头")
屏幕= pygame.display.get_surface()
而真:
事件= pygame.event.get()
对于活动中的事件:
如果event.type == quit或event.type == keydown:
sys.exit(0)
im = get_image()
pg_img = pygame.image.frombuffer(im.tostring(),im.size,im.mode)
screen.blit(pg_img,(0,0))
pygame.display.flip()
pygame.time.delay(int(1000 * 1.0/fps))
祝您好运
bgeddy
谢谢!在Linux和Windows下,这似乎可以工作. OPENCV
图书馆是这里的线索.我已经将CTYPES包装器用于OpenCV
由下面的第一个链接提供,但还有更多选项.
在这里进行未来的参考,这里有一些相关链接:http://wwwx.cs.unc.edu/~gb/wp/blog/2...-using-ctypes/http://opencvlibrary.sourceforge.net/ http:/ /opencvlibrary.sourceforge.net/noamlewis http://opencvlibrary.sourceforge.net/pythoninterface
Windows特定:http://www.instructables.com/id/usin...in-windows-xp/ http://dip.sun.ac.za/3dvision/talks/....on_windows.pps.pps.pps.pps http http:// /opencvlibrary.sourceforge.net/noamlewis
感谢您的帮助.
2B
# 回答13


在16 AVR,09:41,Berco Beute 更确切地说,当进行"导入GST"时,Python Shell会弹出
错误对话框说:
"此应用程序未能启动,因为
找不到libgstinterfaces-0.10.dll."
2b
您也需要安装GST-Plugins良好
- -
皮埃尔

标签: python

添加新评论