1. 程式人生 > >Opencv(python)人臉識別和標定

Opencv(python)人臉識別和標定

"""
@author:  wangquaxiu
@time:  2018/9/11 14:36
facerec
"""
import cv2
import numpy as np

# 載入Load xml 引數1 file name
face_xml = cv2.CascadeClassifier('D:/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
eye_xml = cv2.CascadeClassifier('D:/opencv/sources/data/haarcascades/haarcascade_eye.xml')
if face_xml != None:
    print("xml檔案下載成功!")
# load jpg
img = cv2.imread('G:/photos/lena.jpg', 1)
if img is not None:
    print("圖片讀取成功!")
cv2.imshow('src', img)

# haar gray
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# detect faces 1 data 2 scale 3 5
# 檢測人臉 1 灰度圖片資料 2 縮放係數 3目標大小
faces = face_xml.detectMultiScale(gray, 1.3, 5)
# 人臉個數
print('face=', len(faces))

# 方框標定
for (x, y, w, h) in faces:
    # 起始座標
    cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
    # 我們已經找到的人臉區域
    roi_face = gray[y:y + h, x:x + w]
    roi_color = img[y:y + h, x:x + w]
    # 引數1 gray
    eyes = eye_xml.detectMultiScale(roi_face)
    print('eye=', len(eyes))
    for (e_x, e_y, e_w, e_h) in eyes:
        cv2.rectangle(roi_color, (e_x, e_y), (e_x + e_w, e_y + e_h), (0, 255, 0), 2)
cv2.imshow('dst', img)
cv2.waitKey()

效果:

相關推薦

Opencvpython人臉識別標定

""" @author: wangquaxiu @time: 2018/9/11 14:36 facerec """ import cv2 import numpy as np # 載入Load xml 引數1 file name face_xml = cv2.Casc

TensorFlow+實戰Google深度學習框架學習筆記12------Mnist識別卷積神經網路LeNet

一、卷積神經網路的簡述 卷積神經網路將一個影象變窄變長。原本【長和寬較大,高較小】變成【長和寬較小,高增加】 卷積過程需要用到卷積核【二維的滑動視窗】【過濾器】,每個卷積核由n*m(長*寬)個小格組成,每個小格都有自己的權重值, 長寬變窄:過濾器的長寬決定的 高度變高:過濾器的個數決定的 &nb

TensorFlow+實戰Google深度學習框架學習筆記13------Mnist識別卷積神經網路AlexNet

一、AlexNet:共8層:5個卷積層(卷積+池化)、3個全連線層,輸出到softmax層,產生分類。  論文中lrn層推薦的引數:depth_radius = 4,bias = 1.0 , alpha = 0.001 / 9.0 , beta = 0.75 lrn現在僅在AlexNet中使用,

TensorFlow+實戰Google深度學習框架學習筆記13------Mnist識別卷積神經網絡AlexNet

net dev adding 筆記 learn 明顯 lex test info 一、AlexNet:共8層:5個卷積層(卷積+池化)、3個全連接層,輸出到softmax層,產生分類。 論文中lrn層推薦的參數:depth_radius = 4,bias = 1.0 ,

OpenCV3圖片變換圖片特效

(1)圖片縮放 圖片的縮放常用於圖片的預處理,對圖片進行歸一化大小。這裡採用OpenCV庫進行實現。 cv.resize()實現圖片縮放(預設雙線性插值法),固定大小 import cv2 as cv import numpy as np img = cv.imread("dog.jpg

opencvc++檔案輸入輸出使用XMLYAML檔案

你會找到以下問題的答案: 如何使用YAML或XML檔案列印和讀取文字和OpenCV檔案? 如何為OpenCV資料結構做同樣的事情? 如何為你的資料結構做到這一點? 使用OpenCV資料結構,如cv :: FileStorage,cv :: F

安卓開發人臉識別相簿FaceMap

本篇主要講本科時做的一個應用,人臉識別相簿。主要包含JNI和業務邏輯。最終程式碼會公佈在github。 演算法部分 當時深度學習還沒有很火,所以用的是經典的PCA方法,降維之後直接作為特徵。人臉檢測部分用的也是Opencv的Haar特徵人臉檢測。現在來看效能

Ubuntu 16.04編譯安裝OpenCVPython

環境: Ubuntu 16.04 64bit ,openCV opencv-3.1.0 1.安裝opencv依賴包 $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2

Harris角點檢測原理與opencvpython實現

在學習時主要參考了1.http://blog.csdn.net/xiaowei_cqu/article/details/7805206和opencv-python官方的關於harris的文件(http://opencv-python-tutroals.readthedocs

人臉識別人臉檢測--人臉識別樣本製作及訓練測試

閒得沒事,折騰下opencv 人臉識別,從樣本製作到評估。 1.直接copy opencv裡的原始碼,建立工程,新增opencv庫,可以直接cmake原始碼,但我之所以自己建立工程,是想多學習,並且降低與原始碼框架的耦合度。 這裡如果出現_imp__CreateToo

OpenCVPython學習筆記One:幾何變換之對影象的旋轉

 最近學習中會用到OpenCV,感覺OpenCV簡單且功能強大,Python語言也簡單易用,於是就學了Python版OpenCV。裡面講的比較簡單,就先從簡單的入手吧。 因為已經學習一段時間了,所以文章並不是按照OpenCV的順序來寫的,我會慢慢補齊以前學過的一些例子。 都是些簡單

人臉識別8----人臉識別主要演算法原理

人臉識別主要演算法原理 【嵌牛導讀】:人臉識別,是基於人的臉部特徵資訊進行身份識別的一種生物識別技術。用攝像機或攝像頭採集含有人臉的影象或視訊流,並自動在影象中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部的一系列相關技術,通常也叫做人像識別、面部識別。 【嵌牛鼻子】

opencvpython影象處理之三

一、函式簡介 1、zeros—構造全0矩陣 函式原型:zeros(shape, dtype=None, order=’C’) shape:矩陣大小;例如:300x300; dtype:資料型別;例如:”uint8” order:資料排列順序,預設按列排的 2、line—畫線

opencvpython影象處理之九

一、函式簡介 1、threshold—影象簡單閾值化處理 函式原型:threshold(src, thresh, maxval, type, dst=None) src:影象矩陣 thresh:閾值 maxVal:畫素最大值 type:閾值化型別 2、adaptiveThre

學習OpenCV——隨機數發生器繪製文字

本次範例是在上一次博客學習OpenCV範例(六)——基本繪圖的基礎上,加上隨機數發生器和文字顯示,進行更加有趣的開發,當本次範例學習完之後,基本的繪圖函式也就學習完了。 1、介紹 範例通過使用 隨機數發生器類 (RNG) 並得到均勻分佈的隨機數,代入到繪製函式的引數裡面,使

OpencvPython 教程-輪廓2輪廓特徵求取

目標 查詢輪廓的不同特徵,例如面積,周長,重心,邊界框等,這些特徵在未來的影象識別中,會大量的用到。 矩的概念 影象識別的一個核心問題是影象的特徵提取,簡單描述即為用一組簡單的資料(影象描述量)來描述整個影象,這組資料越簡單越有代表性越好。良好的特徵不受光線、噪點、幾何形

人臉檢測--人臉識別樣本製作及訓練測試

閒得沒事,折騰下opencv 人臉識別,從樣本製作到評估。 1.直接copy opencv裡的原始碼,建立工程,新增opencv庫,可以直接cmake原始碼,但我之所以自己建立工程,是想多學習,並且降低與原始碼框架的耦合度。 這裡如果出現_imp__CreateToolb

OpenCV學習筆記五十五——用OpenCV人臉識別性別識別contrib

人臉識別的故事說也說不完,調研的事還是交給大家吧。這裡說的是用OpenCV做人臉識別。 因為是真正的人臉識別,不是搞笑娛樂的東西,所以資料庫一定要強大的,推薦個網站http://www.face-rec.org/databases/。這裡有最全的人臉庫的概述,希望大家能找到

openCV學習筆記十四 —— 人臉識別演算法3/3—— 區域性二值模式LBP

LBP(Local Binary Patterns,區域性二值模式)是提取區域性特徵作為判別依據的。LBP方法顯著的優點是對光照不敏感,但是依然沒有解決姿態和表情的問題。不過相比於特徵臉方法,LBP的識別率已經有了很大的提升。在[1]的文章裡,有些人臉庫的識別率已經達到了

OpenCV學習筆記二十一——車輛識別跟蹤

     今天在GitHub上看到一個對車輛訓練好的模型,即xml檔案,於是拿來測試了一個效果。我用這個xml檔案對視訊中的每一幀畫面進行簡單的車輛識別定位,演示程式碼如下:import cv2 import numpy as np camera = cv2.VideoCa