利用python打开摄像头及颜色检测方法

  

最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,…下面我就汇报下今天的学习成果吧

  

小编运行环境unbuntu 14.0.4

  

首先我们先安装一下Python呗,我用2.7的,其实特别简单,一行指令就好

  

<强> sudo apt-get安装python-dev

  

一般安装系统的时候其实python已经自带了,这步基本可以不用做,好吧,我们继续往下走吧,安装python-opencv,稍后我们需要用到opencv的库,一行指令即可,这也是小编特别喜欢linux的原因:

  

<强> sudo apt-get安装python-opencv

  

完成之后我们开始操作吧,首先同样的我们打开摄像头露个脸呗,不多说,上代码,vim pythonpractice。py打开vim,复制以下代码即可(友情提示python是有严格的缩进的,下面我都是四个空格缩进,各位不要复制错了):lo

        lmport cv2   进口numpy np #添加模块和矩阵模块   帽=cv2.VideoCapture (0)   #打开摄像头,若打开本地视频,同opencv一样,只需将0换成(“×××.avi”)   而(1):#框架   ret,?cap.read() #显示一帧   cv2。imshow(“捕获”,帧)   如果cv2.waitKey (1),0 xff==奥德(问):   打破   cap.release ()   cv2.destroyAllWindows ()   #释放并销毁窗口      

  python pythonpractice

<强>。py

  

小脸蛋即可出现在你的屏幕上了,下面稍微添加几行有意思的代码吧,实现蓝色背景检测,我这有瓶蓝色脉动,正好做个小实验。

        进口cv2   进口numpy np   帽=cv2.VideoCapture(0) #蓝色打   lower_blue=np.array([78年,43岁,46])   upper_blue=np.array ([110255255])   而(1):#框架和显示   ret,?cap.read ()   cv2。imshow(“捕获”,帧)#变化hsv模型   hsv=cv2。cvtColor(框架、cv2.COLOR_BGR2HSV) #面具   掩码=cv2。inRange (hsv lower_blue upper_blue)   cv2。imshow(面具,面具)#发现蓝色   res=cv2。bitwise_and(帧,帧,面膜=面具)   cv2。imshow(“结果”,res)   如果cv2.waitKey (1),0 xff==奥德(问):   breakcap.release ()   cv2.destroyAllWindows ()      python pythonpractice

同样。py运行一下,可以把手机换成蓝色背景检测以下、下面时间就交给各位理解了,代码很简单,只有简单的几行程序。

  

<强>下面有个复杂点颜色识别的代码

        # !/usr/bin/python   # - * -编码:utf - 8 - *   进口cv2   进口numpy np   导入的时间   readlower=np.array ([156179144])   readupper=np.array ([180255255])   readlower1=np。阵列([0,128,146])   readupper2=np。阵列([5,255,255])   lowerarry=[[readlower、readupper '红色'],[readlower1、readupper2 ' red1 ']]   捕捉=cv2.VideoCapture (4. mp4)   而真正的:   ret,?capture.read ()   打印frame.shape   (640480)=cv2.resize帧(帧)   如果ret==假:   打印(“视频是埃罗”)   # cv2.imshow (xiaorun,框架)   cv2.COLOR_BGR2HSV hsv=cv2.cvtColor(框架)   lowerarry colormin colermax,名称:   掩码=cv2.inRange (hsv, colormin colermax)   # res=cv2。bitwise_and(帧,帧,面膜=面具)   #=cv2.erode面具(面具,没有,迭代=1)   掩码=cv2.dilate(面具,没有迭代=25)   受潮湿腐烂、二进制=cv2。阈值(255年面具,15日,cv2.THRESH_BINARY)   cv2.imshow(“结果”,二进制)   内核=cv2.getStructuringElement (cv2。7)MORPH_RECT(21日)=cv2关闭。cv2 morphologyEx(二进制。MORPH_CLOSE内核)   cv2。imshow(“关闭”,关闭)   #侵蚀=cv2。侵蚀(关闭,没有迭代=4)   # cv2。imshow(“侵蚀”,侵蚀)   扩张=cv2。扩张(关闭,没有,迭代=50)   cv2。imshow(扩张,扩张)=cv2 _、轮廓、层次结构。cv2 findContours(二进制。RETR_EXTERNAL cv2.CHAIN_APPROX_SIMPLE)   # res=_.copy ()   反对的轮廓:   x, y, w h=cv2.boundingRect (con) #将轮廓分解为识别对象的左上角坐标和宽,高   #在图像上画上矩形(图片,左上角坐标,右下角坐标,颜色,线条宽度)   cv2。矩形(帧(x, y), (x + w, y + h) (255, 0, 0), 3)      cv2.imshow (res,框架)   关键=cv2.waitKey (1)   如果键==奥德(问):   打破      

小编只是想说明以下,一定要学以致用,任何一种编程语言都是倒腾两天就直接上手的,按部就班的学习语法,那样不知何时才能出师了,祝各位玩得高在机器视觉上

  

以上这篇利用python打开摄像头及颜色检测方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

利用python打开摄像头及颜色检测方法