一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

python

 啊司com 2017-08-03

代碼發(fā)布在github中https://github.com/luyishisi/The_python_code.git文件夾是face-gensui

簡述:使用python-subprocess多線程模塊相鏈接,本項目主要用在樹莓派上所以需要調(diào)用的攝像頭函數(shù)與普通usb不同,so,有點差別但是不是很難。所使用文本文件進行數(shù)據(jù)溝通,簡單粗暴,文件2.py功能是將目錄下的5.jpg進行人臉識別解析,將人臉的位置的重心存儲在文件weizhi.txt文件中,然后就比較相對位置的差別,就能得出應該與移動的位置。

本項目還未鏈接舵機用于轉(zhuǎn)頭,僅處理計算人臉信息,將每次的重心存儲在文件中,方便未來進行增加舵機改進成為實際的轉(zhuǎn)頭。

  1.  使用指南,
  2.  請先安裝好環(huán)境:
  3.  linux
  4.  python 2.7.3
  5.  opencv 2.3.1-7
  6.  安裝依賴
  7.  sudo apt-get install libopencv-*
  8.  sudo apt-get install python-opencv
  9.  sudo apt-get install python-numpy
  10. 進入start運行2.py可以單獨測試人臉識別的功能,欲測試整體不斷識別相對位置功能請運行l(wèi)ianxuzhibo.py文件 python lianxuzhibo.py,如果環(huán)境上沒有大問題的話應該能在該目錄下出現(xiàn)5.jpg圖片文件,如果存在人臉,則會進行識別,建立一個weizhi.txt文件,存儲每次人臉位置的重心,

首先核心代碼是opencv-face識別,請看start目錄下的2.py

 

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#coding=utf-8
import cv2
import cv2.cv as cv
img = cv2.imread("5.jpg")
def detect(img, cascade):
    '''detectMultiScale函數(shù)中smallImg表示的是要檢測的輸入圖像為smallImg,
faces表示檢測到的人臉目標序列,1.3表示每次圖像尺寸減小的比例為1.3,
4表示每一個目標至少要被檢測到3次才算是真的目標(因為周圍的像素和不同的窗口大小都可以檢測到人臉),
CV_HAAR_SCALE_IMAGE表示不是縮放分類器來檢測,而是縮放圖像,Size(20, 20)為目標的最小最大尺寸'''
    rects = cascade.detectMultiScale(img, scaleFactor=1.3,
                                    minNeighbors=5, minSize=(30, 30), flags = cv.CV_HAAR_SCALE_IMAGE)
    if len(rects) == 0:
        return []
    print rects
    rects[:,2:] += rects[:,:2]
    print rects
    return rects
#在img上繪制矩形
def draw_rects(img, rects, color):
    for x1, y1, x2, y2 in rects:
        cv2.rectangle(img, (x1, y1), (x2, y2), color, 2)
#轉(zhuǎn)換為灰度圖
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#直方圖均衡處理
gray = cv2.equalizeHist(gray)
#臉部特征分類地址,里面還有其他
cascade_fn = '/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml'
#讀取分類器,CascadeClassifier下面有一個detectMultiScale方法來得到矩形
cascade = cv2.CascadeClassifier(cascade_fn)
  
#通過分類器得到rects
rects = detect(gray, cascade)
#vis為img副本
'''
以下文件操作部分可以刪除,功能只是要讀取上一次的人臉位置重心
'''
vis = img.copy()
txt = str(rects)
fileHandle = open ( 'weizhi.txt', 'r' )
begin = fileHandle.read()
fileHandle.close()
fileHandle = open ( 'weizhi.txt', 'w' )
fileHandle.write(txt)
fileHandle.close()
x =int(begin[2:5:])
y =int(begin[6:9:])
z =int(begin[10:13])/2
x = x + z
y = y + z
print("x=",x,"y=",y,"z=",z)
f = open('zhongxin.txt','w')
f.write(str(x)+" "+str(y)+" "+str(z))
f.close()
#畫矩形
draw_rects(vis, rects, (0, 255, 0))
cv2.imshow('facedetect', vis)
cv2.waitKey(0)
cv2.destroyAllWindows()

其次還需要通過subprocess調(diào)用raspistll來不斷創(chuàng)建新的當前畫面并在當期目錄下建立5.jpg文件
lianxuzhibo.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
import subprocess
import time
file_number = 0
while True:
    file_name = dir + format(file_number,"05d")+".jpg"
    file_number = file_number + 1
    subprocess.call(["raspistill","-w","400","-h","400","-e","jpg","-n","-t","1","-o",file_name])
    subprocess.call(["cp","-f",file_name,"5.jpg"])
    subprocess.call(["python","2.py"])
    time.sleep(1)

 

連續(xù)直播的思路很明確不過是一直調(diào)用raspistll來獲取攝像頭當前的圖片而已,最后一個time。sleep(1)是為了避免文件讀取沖突。畢竟多線程。速度快,但是隱患也是有的。

上個效果圖

未命名

原創(chuàng)文章,轉(zhuǎn)載請注明: 轉(zhuǎn)載自URl-team

本文鏈接地址: python-opencv人臉識別與樹莓派攝像頭轉(zhuǎn)頭跟隨()

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    91精品国产综合久久不卡| 99精品国产自在现线观看| 久久久精品区二区三区| 免费一级欧美大片免费看| 激情偷拍一区二区三区视频| 中国一区二区三区人妻 | 国产精品超碰在线观看| 欧美午夜国产在线观看| 日韩欧美二区中文字幕| 久久99精品国产麻豆婷婷洗澡 | 欧美日韩精品一区免费| 中文字幕日韩一区二区不卡| 国产成人精品午夜福利av免费| 国产又色又爽又黄的精品视频| 大香蕉大香蕉手机在线视频| 一本久道久久综合中文字幕| 人妻久久这里只有精品| 九九九热视频最新在线| 国产一区二区久久综合| 国产精品一区二区三区欧美| 亚洲熟女乱色一区二区三区| 亚洲一区二区三区四区| 清纯少妇被捅到高潮免费观看| 日本加勒比不卡二三四区| 国产一区欧美午夜福利| 毛片在线观看免费日韩| 国产精品免费福利在线| 日韩成人高清免费在线| 色老汉在线视频免费亚欧| 国产一区二区三区精品免费| 午夜国产成人福利视频| 九九热精品视频在线观看| 国产精品香蕉一级免费| 久久精品一区二区少妇| 人妻一区二区三区在线 | 激情五月激情婷婷丁香| 欧美日韩免费观看视频| 国产成人午夜av一区二区| 日韩午夜福利高清在线观看| 中文字幕佐山爱一区二区免费| 日韩一区二区三区高清在|