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

首頁 > 編程 > Python > 正文

基于python神經卷積網絡的人臉識別

2020-02-23 00:14:25
字體:
來源:轉載
供稿:網友

本文實例為大家分享了基于神經卷積網絡的人臉識別,供大家參考,具體內容如下

1.人臉識別整體設計方案


客_服交互流程圖:


2.服務端代碼展示

sk = socket.socket() # s.bind(address) 將套接字綁定到地址。在AF_INET下,以元組(host,port)的形式表示地址。 sk.bind(("172.29.25.11",8007)) # 開始監聽傳入連接。 sk.listen(True)  while True:  for i in range(100):   # 接受連接并返回(conn,address),conn是新的套接字對象,可以用來接收和發送數據。address是連接客戶端的地址。   conn,address = sk.accept()    # 建立圖片存儲路徑   path = str(i+1) + '.jpg'    # 接收圖片大小(字節數)   size = conn.recv(1024)   size_str = str(size,encoding="utf-8")   size_str = size_str[2 :]   file_size = int(size_str)    # 響應接收完成   conn.sendall(bytes('finish', encoding="utf-8"))    # 已經接收數據大小 has_size   has_size = 0   # 創建圖片并寫入數據   f = open(path,"wb")   while True:    # 獲取    if file_size == has_size:     break    date = conn.recv(1024)    f.write(date)    has_size += len(date)   f.close()    # 圖片縮放   resize(path)   # cut_img(path):圖片裁剪成功返回True;失敗返回False   if cut_img(path):    yuchuli()    result = test('test.jpg')    conn.sendall(bytes(result,encoding="utf-8"))   else:    print('falue')    conn.sendall(bytes('人眼檢測失敗,請保持圖片眼睛清晰',encoding="utf-8"))   conn.close() 

3.圖片預處理

1)圖片縮放

# 根據圖片大小等比例縮放圖片 def resize(path):  image=cv2.imread(path,0)  row,col = image.shape  if row >= 2500:   x,y = int(row/5),int(col/5)  elif row >= 2000:   x,y = int(row/4),int(col/4)  elif row >= 1500:   x,y = int(row/3),int(col/3)  elif row >= 1000:   x,y = int(row/2),int(col/2)  else:   x,y = row,col  # 縮放函數  res=cv2.resize(image,(y,x),interpolation=cv2.INTER_CUBIC)  cv2.imwrite(path,res) 

2)直方圖均衡化和中值濾波

# 直方圖均衡化 eq = cv2.equalizeHist(img) # 中值濾波 lbimg=cv2.medianBlur(eq,3) 

3)人眼檢測

# -*- coding: utf-8 -*- # 檢測人眼,返回眼睛數據  import numpy as np import cv2  def eye_test(path):  # 待檢測的人臉路徑  imagepath = path   # 獲取訓練好的人臉參數  eyeglasses_cascade = cv2.CascadeClassifier('haarcascade_eye_tree_eyeglasses.xml')   # 讀取圖片  img = cv2.imread(imagepath)  # 轉為灰度圖像  gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)   # 檢測并獲取人眼數據  eyeglasses = eyeglasses_cascade.detectMultiScale(gray)  # 人眼數為2時返回左右眼位置數據  if len(eyeglasses) == 2:   num = 0   for (e_gx,e_gy,e_gw,e_gh) in eyeglasses:    cv2.rectangle(img,(e_gx,e_gy),(e_gx+int(e_gw/2),e_gy+int(e_gh/2)),(0,0,255),2)    if num == 0:     x1,y1 = e_gx+int(e_gw/2),e_gy+int(e_gh/2)    else:     x2,y2 = e_gx+int(e_gw/2),e_gy+int(e_gh/2)    num += 1   print('eye_test')   return x1,y1,x2,y2  else:   return False             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 康马县| 镇赉县| 富平县| 湾仔区| 额尔古纳市| 海安县| 铜梁县| 台北市| 龙海市| 华蓥市| 洪江市| 廉江市| 老河口市| 民勤县| 凤山市| 永登县| 广宁县| 襄樊市| 祁门县| 廊坊市| 揭阳市| 木里| 桐庐县| 旺苍县| 迭部县| 林甸县| 缙云县| 上杭县| 衡阳县| 泰来县| 庄河市| 牙克石市| 慈溪市| 襄汾县| 常熟市| 岚皋县| 大安市| 苍山县| 赤壁市| 淮北市| 平顺县|