欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2018年08月03日 08:39:38   作者:xiao__run  
今天小編就為大家分享一篇利用python打開攝像頭及顏色檢測方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近兩周由于忙于個(gè)人項(xiàng)目,一直未發(fā)言了,實(shí)在是太荒涼了。。。。,上周由于項(xiàng)目,見到Python的應(yīng)用極為廣泛,用起來也特別順手,于是小編也開始著手學(xué)習(xí)Python,…下面我就匯報(bào)下今天的學(xué)習(xí)成果吧

小編運(yùn)行環(huán)境unbuntu 14.0.4

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

sudo apt-get install python-dev

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

sudo apt-get install python-opencv

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

lmport cv2
import 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'):  
  break
cap.release()
cv2.destroyAllWindows()
#釋放并銷毀窗口

保存退出

python pythonpractice.py

小臉蛋即可出現(xiàn)在你的屏幕上了,下面稍微添加幾行有意思的代碼吧,實(shí)現(xiàn)藍(lán)色背景檢測,我這有瓶藍(lán)色脈動,正好做個(gè)小實(shí)驗(yàn)。

import cv2
import numpy as np
cap = cv2.VideoCapture(0)# set blue thresh
lower_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 運(yùn)行一下,可以把手機(jī)換成藍(lán)色背景檢測以下,下面時(shí)間就交給各位理解了,代碼很簡單,只有簡單的幾行程序。

下面有個(gè)復(fù)雜點(diǎn)顏色識別的代碼

#!/usr/bin/python
# -*- coding: utf-8 -*-
import cv2
import numpy as np
import time
readlower=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) # 將輪廓分解為識別對象的左上角坐標(biāo)和寬、高
  # 在圖像上畫上矩形(圖片、左上角坐標(biāo)、右下角坐標(biāo)、顏色、線條寬度)
  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

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

以上這篇利用python打開攝像頭及顏色檢測方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python smtplib發(fā)送帶附件郵件小程序

    python smtplib發(fā)送帶附件郵件小程序

    這篇文章主要為大家詳細(xì)介紹了python smtplib發(fā)送帶附件郵件小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • PyCharm之如何設(shè)置自動換行問題

    PyCharm之如何設(shè)置自動換行問題

    這篇文章主要介紹了PyCharm之如何設(shè)置自動換行問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python讀寫csv文件實(shí)例代碼

    python讀寫csv文件實(shí)例代碼

    在本篇文章中小編給各位分享了關(guān)于python讀取和寫入csv文件的知識點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。
    2019-07-07
  • python編程的核心知識點(diǎn)總結(jié)

    python編程的核心知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python編程的核心知識點(diǎn)總結(jié)內(nèi)容,對此有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-02-02
  • 親測解決tensorflow和keras版本不匹配的問題

    親測解決tensorflow和keras版本不匹配的問題

    這篇文章主要介紹了親測解決tensorflow和keras版本不匹配問題,完美解決:ImportError: No module named 'tensorflow.python.eager'問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Python讀取文件內(nèi)容的三種常用方式及效率比較

    Python讀取文件內(nèi)容的三種常用方式及效率比較

    這篇文章主要介紹了Python讀取文件內(nèi)容的三種常用方式及效率比較,結(jié)合具體實(shí)例形式給出了三種文件讀取的常見方法并對比分析了讀取速度,需要的朋友可以參考下
    2017-10-10
  • 解決python3 json數(shù)據(jù)包含中文的讀寫問題

    解決python3 json數(shù)據(jù)包含中文的讀寫問題

    今天小編就為大家分享一篇解決python3 json數(shù)據(jù)包含中文的讀寫問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python中max函數(shù)用法實(shí)例分析

    Python中max函數(shù)用法實(shí)例分析

    這篇文章主要介紹了Python中max函數(shù)用法,實(shí)例分析了Python中max函數(shù)的功能與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • pytorch 實(shí)現(xiàn)L2和L1正則化regularization的操作

    pytorch 實(shí)現(xiàn)L2和L1正則化regularization的操作

    這篇文章主要介紹了pytorch 實(shí)現(xiàn)L2和L1正則化regularization的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python通過加號運(yùn)算符操作列表的方法

    python通過加號運(yùn)算符操作列表的方法

    這篇文章主要介紹了python通過加號運(yùn)算符操作列表的方法,實(shí)例分析了Python使用加號運(yùn)算符實(shí)現(xiàn)列表追加的方法,需要的朋友可以參考下
    2015-07-07

最新評論