日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【python】MAC安装openCV人脸识别

發布時間:2024/1/8 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python】MAC安装openCV人脸识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、OpenCV

1. 安裝openCV

pip install opencv-python

但因為openCV是外網的庫,安裝可能回很慢,建議從【清華鏡像園】進行安裝

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

2. 找到文件分類器

MAC系統方法:在【訪達】中搜索cv2,即可找到

import cv2 import os import matplotlib.pyplot as pltos.chdir(‘d:\FaceRuyi’)#路徑選擇cv2/data的文件夾def detect(filename): face_cascade = cv2.CascadeClassifier(‘D:/FaceRuyi/data/haarcascade_frontalface_default.xml’)#找到default的文件復制路徑img = cv2.imread(filename) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)faces = face_cascade.detectMultiScale(gray, 1.3, 5)for (x, y, w, h) in faces:img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2) plt.imshow(img) plt.axis(‘off’) #去掉坐標軸 plt.show()

?但如果只是按以上這種寫法,就會報錯,因為在之前定義的detect函數沒有被調用

正確寫法如下??

import cv2 import os import matplotlib.pyplot as plt os.chdir('/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/data')def detect(filename):face_cascade=cv2.CascadeClassifier('/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml')img= cv2.imread(filename)gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)faces=face_cascade.detectMultiScale(gray, 1.3, 5)for(x,y,w,h)in faces:img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)plt.imshow(img)plt.axis('off')plt.show() detect('/Users/liruiying/Desktop/上課/大三上/python/第二節/taylor.jpg')

?def 下面的代碼記得tab

二、Face-recognition

1. 安裝

第一:pip install cmake?
第二:pip install dlib(人臉特征點)?
第三:pip install face_recognition

以上安裝都可以通過【清華鏡像園】 安裝

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple xxxx(需要安裝的包)

2. 框線識別

import face_recognition import cv2 import matplotlib.pyplot as pltimage = face_recognition.load_image_file("/Users/liruiying/Desktop/上課/大三上/python/第二節/posterscope.JPG") face_locations=face_recognition.face_locations(image)face_num2=len(face_locations) print(face_num2) # The number of faces org = cv2.imread("/Users/liruiying/Desktop/上課/大三上/python/第二節/posterscope.JPG")for i in range(0,face_num2):top = face_locations[i][0]right = face_locations[i][1]bottom = face_locations[i][2]left = face_locations[i][3]#設置四個點的位置start = (left, top)end = (right, bottom)#進行劃線color = (0,255,255)thickness = 2img=cv2.rectangle(org, start, end, color, thickness)plt.imshow(img)plt.axis('off') #去掉坐標軸 plt.show()

有可能的報錯:找不到face_recognition的包

遇到這種情況,可以嘗試在notebook里重新pip

3. 點狀識別

import cv2 import dlib import matplotlib.pyplot as pltpath = "/Users/liruiying/Desktop/上課/大三上/python/第二節/posterscope.JPG" img = cv2.imread(path) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#人臉分類器 detector = dlib.get_frontal_face_detector() # 獲取人臉檢測器 #predictor = dlib.shape_predictor(r’/opt/anaconda3/lib/python3.8/site-packages/face_recognition_models/models/shape_predictor_68_face_landmarks.dat‘) predictor = dlib.shape_predictor(r"/opt/anaconda3/lib/python3.8/site-packages/face_recognition_models/models/shape_predictor_68_face_landmarks.dat")dets = detector(gray, 3) for face in dets:shape = predictor(img, face) # 尋找人臉的68個標定點# 遍歷所有點,打印出其坐標,并圈出來for pt in shape.parts():pt_pos = (pt.x, pt.y)img=cv2.circle(img, pt_pos, 2, (0, 255, 0), 10)#如果點看不到,可以更改最后的數值,調節點的大小plt.imshow(img) plt.axis('off') #去掉坐標軸 plt.show()

1. 點位數量少?可以選擇68的文件

predictor = dlib.shape_predictor(r"/opt/anaconda3/lib/python3.8/site-packages/face_recognition_models/models/shape_predictor_68_face_landmarks.dat")

2. 如果點還是特別不明顯,可以進行參數的調整

在倒數第四行img=cv2.circle(img, pt_pos, 2, (0, 255, 0), 10)

最后一個數值即點的大小~

總結

以上是生活随笔為你收集整理的【python】MAC安装openCV人脸识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。