画像で顔を識別する
😀 OpenCVのインストール
sudo apt update
sudo apt install python3-opencv
😀 画像出力
画像の読み取りと表示
import cv2
img=cv2.imread('photo.jpg')
cv2.imshow('photo', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
白黒画像に変換
import cv2
img=cv2.imread('photo.jpg')
gray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('photo', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
😀 人の顔を見分ける
Haar Cascadeマシンラーニングフィルタファイルのインポート
haarcascade_eye.xml
haarcascade_frontalface_default.xml
人の顔を見分ける
import cv2
img=cv2.imread('photo.jpg')
gray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
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)
cv2.imshow('photo', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
目を見分ける
import cv2
img=cv2.imread('photo.jpg')
gray=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_cascade=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade=cv2.CascadeClassifier('haarcascade_eye.xml')
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)
roi_gray=gray[y:y +h, x:x +w]
roi_color=img[y:y +h, x:x +w]
eyes=eye_cascade.detectMultiScale(roi_gray)
for (ex,ey,ew,eh) in eyes:
cv2.rectangle(roi_color,(ex,ey),(ex +ew, ey +eh),(0,255,0),2)
cv2.imshow('photo', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
* 출처: 진짜 코딩하며 배우는 라즈베리파이 4
Reference
この問題について(画像で顔を識別する), 我々は、より多くの情報をここで見つけました https://velog.io/@tataki26/이미지로-얼굴-인식하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol