国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用python打開攝像頭及顏色檢測方法

2020-01-04 14:52:25
字體:
來源:轉載
供稿:網友

最近兩周由于忙于個人項目,一直未發言了,實在是太荒涼了。。。。,上周由于項目,見到Python的應用極為廣泛,用起來也特別順手,于是小編也開始著手學習Python,…下面我就匯報下今天的學習成果吧

小編運行環境unbuntu 14.0.4

首先我們先安裝一下Python唄,我用的2.7,其實特別簡單,一行指令就OK

sudo apt-get install python-dev

一般安裝系統的時候其實python已經自帶了,這步基本可以不用做,OK,我們繼續往下走吧,安裝python-opencv ,稍后我們需要用到opencv的庫,一行指令即可,這也是小編特別喜歡linux的原因:

sudo apt-get install python-opencv

完成之后我們開始操作吧,首先同樣的我們打開攝像頭露個臉唄,不多說,上代碼, vim pythonpractice.py 打開vim,copy以下代碼即可(友情提示 python是有嚴格的縮進的,下面我都是四個空格縮進,各位不要復制錯了):lo

lmport cv2import numpy as np#添加模塊和矩陣模塊cap=cv2.VideoCapture(0)#打開攝像頭,若打開本地視頻,同opencv一樣,只需將0換成("×××.avi")while(1): # get a frame  ret, frame = cap.read() # show a frame  cv2.imshow("capture", frame)  if cv2.waitKey(1) & 0xFF == ord('q'):    breakcap.release()cv2.destroyAllWindows()#釋放并銷毀窗口

保存退出

python pythonpractice.py

小臉蛋即可出現在你的屏幕上了,下面稍微添加幾行有意思的代碼吧,實現藍色背景檢測,我這有瓶藍色脈動,正好做個小實驗。

import cv2import numpy as npcap = cv2.VideoCapture(0)# set blue threshlower_blue=np.array([78,43,46])upper_blue=np.array([110,255,255])while(1): # get a frame and show  ret, frame = cap.read()  cv2.imshow('Capture', frame) # change to hsv model  hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # get mask  mask = cv2.inRange(hsv, lower_blue, upper_blue)  cv2.imshow('Mask', mask) # detect blue  res = cv2.bitwise_and(frame, frame, mask=mask)  cv2.imshow('Result', res)  if cv2.waitKey(1) & 0xFF == ord('q'):    breakcap.release()cv2.destroyAllWindows()

同樣python pythonpractice.py 運行一下,可以把手機換成藍色背景檢測以下,下面時間就交給各位理解了,代碼很簡單,只有簡單的幾行程序。

下面有個復雜點顏色識別的代碼

#!/usr/bin/python# -*- coding: utf-8 -*-import cv2import numpy as npimport timereadlower=np.array([156,179,144])readupper=np.array([180,255,255])readlower1 = np.array([0, 128, 146])readupper2 = np.array([5, 255, 255])lowerarry=[[readlower,readupper,'red'],[readlower1,readupper2,'red1']]capture=cv2.VideoCapture('4.mp4')while True: ret,frame=capture.read() print frame.shape frame=cv2.resize(frame,(640,480)) if ret==False:  print("video is erro") #cv2.imshow('xiaorun',frame) hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV) for colormin,colermax,name in lowerarry:  mask=cv2.inRange(hsv,colormin,colermax)  #res = cv2.bitwise_and(frame, frame, mask=mask) #mask=cv2.erode(mask,None,iterations=1) mask=cv2.dilate(mask,None,iterations=25) ret, binary = cv2.threshold(mask,15, 255, cv2.THRESH_BINARY) cv2.imshow('result',binary) kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (21, 7)) closed = cv2.morphologyEx(binary, cv2.MORPH_CLOSE, kernel) cv2.imshow('closed', closed) #erode = cv2.erode(closed, None, iterations=4) #cv2.imshow('erode', erode) dilate = cv2.dilate(closed, None, iterations=50) cv2.imshow('dilate', dilate) _,contours, hierarchy = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) #res=_.copy() for con in contours:  x, y, w, h = cv2.boundingRect(con) # 將輪廓分解為識別對象的左上角坐標和寬、高  # 在圖像上畫上矩形(圖片、左上角坐標、右下角坐標、顏色、線條寬度)  cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0,0), 3) cv2.imshow('res',frame) key=cv2.waitKey(1) if key==ord('q'):  break

小編只是想說明以下,一定要學以致用,任何一種編程語言都是倒騰兩天就直接上手的,按部就班的學習語法,那樣不知何時才能出師了,祝各位玩得high在機器視覺上

以上這篇利用python打開攝像頭及顏色檢測方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新田县| 枞阳县| 高安市| 奉化市| 林周县| 剑阁县| 神木县| 龙泉市| 南安市| 綦江县| 博爱县| 合水县| 林口县| 忻城县| 湖南省| 夹江县| 禹州市| 温州市| 福海县| 尉氏县| 葫芦岛市| 黄冈市| 沅江市| 阿拉尔市| 祁阳县| 桐梓县| 永和县| 邯郸市| 封丘县| 县级市| 寿光市| 阳高县| 抚宁县| 梁河县| 尼木县| 南昌市| 司法| 烟台市| 绥阳县| 万州区| 酒泉市|