Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Visualization
- Tistory
- 텐서플로
- 파이썬 시각화
- 딥러닝
- 매틀랩
- MATLAB
- 리눅스
- matplotlib
- 시각화
- 한빛미디어
- 한빛미디어서평단
- 월간결산
- Blog
- Pandas
- SQL
- 파이썬
- tensorflow
- Google Analytics
- 서평
- MySQL
- Linux
- 독후감
- 블로그
- 티스토리
- 서평단
- Python
- python visualization
- 통계학
- Ga
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] OpenCV 를 이용한 얼굴 비율 산출기 제작 본문
0. 목표
- OpenCV 를 이용한 얼굴 비율 산출기 제작
1. 실습
1) library 호출
# library 호출
import cv2
import numpy as np
2) 이미지, cascade 불러오기
# 이미지
imgfile = 'C:/Users/user/jupyter_works/opencv_python/parasite/source/img.jpg'
# cascade 호출
cascade_file = "C:/Users/user/jupyter_works/opencv_python/xml/haarcascade_frontface.xml"
image = cv2.imread(imgfile)
cascade = cv2.CascadeClassifier(cascade_file)
3) 얼굴 검출
# 얼굴 검출
face_list = cascade.detectMultiScale(image, scaleFactor=1.1, minNeighbors=1, minSize=(10, 10), maxSize = (1000, 1000))
4) 전체 이미지 크기 확인
# 이미지 크기 확인
y1, x1, z1 = np.shape(image)
5) 얼굴 면적 계산 및 결과 확인
if len(face_list) > 0:
color = (0, 0, 255)
for face in face_list:
x, y, w, h = face
# 얼굴 면적 계산
percent = round((w * h) / (x1 * y1) * 100, 0)
# 면적에 따른 색 지정
if percent >= 30:
color = (0, 255, 0)
else:
color = (0, 0, 255)
# 사각형
cv2.rectangle(image,(x,y),(x+w,y+h),color,10)
# 텍스트
cv2.putText(image, str(percent) + '%', (x, y), cv2.FONT_HERSHEY_PLAIN, int(8), color, int(8), 1)
# 저장
cv2.imwrite("C:/Users/user/jupyter_works/opencv_python/parasite/source/result.jpg", image)
else:
print("none")
2. 결과
1) 연예인1(성함 모름)
2) 아이유
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] 인덱싱, 슬라이싱, iloc, loc, iat, at 정리 (0) | 2021.11.15 |
---|---|
[PYTHON] 구글 스프레드 시트 데이터를 mysql 에 저장하기 (0) | 2021.10.21 |
[PYTHON] 두 개의 dict 내 구성요소 일치여부를 판단하기 (0) | 2021.08.29 |
[PYTHON] matplotlib 으로 Parallel Categories Charts 구현하기 (0) | 2021.08.18 |
[PYTHON] GridSpec 을 이용한 여러 그래프를 같이 그리기 (0) | 2021.08.17 |
Comments