python+opencv+caffe+摄像头做目标检测的实例代码

2020-06-22 05:35 来源:易采站长站 作者:易采站长站整理 点击: 评论:

A-A+

原标题:python+opencv+caffe+摄像头做目标检测的实例代码

首先之前已经成功的使用Python做图像的目标检测,这回因为项目最终是需要用摄像头的,

所以实现摄像头获取图像,并且用Python调用CAFFE接口来实现目标识别

首先是摄像头请选择支持Linux万能驱动兼容V4L2的摄像头,

因为之前用学ARM的时候使用的Smart210,我已经确认我的摄像头是支持的,

我把摄像头插上之後自然就在 /dev 目录下看到多了一个video0的文件,

这个就是摄像头的设备文件了,所以我就没有额外处理驱动的部分

一、检测环境

再来在开始前因为之前按着国嵌的指导手册安装的opencv3.2当时没有开启V4L2及GTK_2.x的支持,

所以後面遇到了一连串的问题,请大家如下面方法检测


$ python

1.检测Python的V4L2支持及摄像头驱动是否正常

进入Python之後如下命令


Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cap = cv2.VideoCapture(0)
>>> print cap.isOpened()
True
>>>

如果 返回True就代表摄像头及你的opencv的V4L2支持就已经完全正常了

如果返回False就代表opencv或是摄像头有问题叁考後面的修改方式

2.再来因为我们要把摄像头的影像生成窗口,所以我们需要检测Python的gtk支持如下


>>> import cv2
>>> cv2.namedWindow('test',cv2.WINDOW_AUTOSIZE)
>>>

如果没有报任何错误就代表gtk也是正常的

如如果出现下面提示


OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows,
GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config,
then re-run cmake or configure script) in cvNamedWindow,

那就代表opencv不支持gtk

如果上面两个测试都是好使的你可以跳过本步骤

首先我发现我不论如何重新编译opencv发现python一直都是有问题的,

最後发现是因为不知道什麽时候已经装过 python-opencv的包了

可以用命令


$ pip list |grep opencv

如果发现有任何跟opencv有关的包都可以利用 pip uninstall xxx 来移除

假设看到 pythom-opencv的包那就 pip uninstall opencv-python 来移除

还有检查dpkg -i |grep opencv 如果跟python的opencv有关的包也得移除


$ sudo apt-get remove python-opencv

然後到你之前安装opencv3.2的那个源码目录,

【易采站长站编辑:秋军】