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 | 31 |
Tags
- Python
- 딥러닝
- 한빛미디어서평단
- Visualization
- 파이썬 시각화
- 리눅스
- Ga
- 시각화
- Blog
- 한빛미디어
- Tistory
- Linux
- SQL
- python visualization
- 텐서플로
- 독후감
- MATLAB
- 티스토리
- Pandas
- 블로그
- tensorflow
- MySQL
- 통계학
- Google Analytics
- matplotlib
- 월간결산
- 서평단
- 서평
- 파이썬
- 매틀랩
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] OpenCV를 활용한 나만의 기생충 포스터 만들기 본문
0. 목표
- 아래와 같이 눈을 가리는 형태의 결과물 제작
- 지난 포스팅(민아 누나 안경 씌우기) 의 경우에는 인물이 하나였기에 눈을 가지고 인식이 가능하나 인물이 여러명일 경우에는 인물 개인을 산정하는데 어려움이 발생(눈 한쪽만 인식하거나, 눈의 주인을 분간하는 것에 대한 어려움 발생)
1. 준비물
1) 사진
2) OpenCV 설치
pip install opencv-python
2. 코드
1) libray 호출
import cv2
2) 이미지 파일 및 cascade.xml 호출
- xml 소스 위치(링크)
imgfile = 'C:/Users/user/jupyter_works/opencv_python/parasite/source/para2.jpg'
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=(50, 50), maxSize = (60, 60))
4) 얼굴 표시
if len(face_list) > 0:
color = (0, 0, 255)
for face in face_list:
x, y, w, h = face
# 사각형 그리기
cv2.rectangle(image,(x,y),(x+w,y+h),color,2)
cv2.imwrite("C:/Users/user/jupyter_works/opencv_python/parasite/source/result.jpg", image)
else:
print("none")
- 실행결과
5) 눈 알고리즘 구상
- 이상적인 미인형 얼굴은 이마로부터 1:1:0.8 이라고 함
- 하지만, 우리는 미인이 아니기에 러프하게 잡도록 함
6) 코드 개선
(1) 알고리즘 개선(int로 만들어 에러 차단)
(2) color를 0, 0, 0 으로 만들어 검은색으로 변경
(3) 선굵기를 2에서 -1로 변경하여 채우도록 설정
if len(face_list) > 0:
color = (0, 0, 0)
for face in face_list:
x, y, w, h = face
# 사각형 그리기
cv2.rectangle(image,(x,y+int(h/28*10)),(x+w,y+int(h/28*14)),color,-1)
cv2.imwrite("C:/Users/user/jupyter_works/opencv_python/parasite/source/result2.jpg", image)
else:
print("none")
3. 결과
4. 참고문헌
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] PyQt5 + pyinstaller를 사용한 twitter 크롤링 프로그램 제작 (0) | 2020.02.24 |
---|---|
[PYTHON] OpenCV를 활용한 기생충 웹캠 어플리케이션 만들기 (0) | 2020.02.22 |
[PYTHON] OpenCV로 민아누나 안경 씌우기 (0) | 2020.02.14 |
[PYTHON] python을 사용한 Google Drive 에 파일 업로드 (0) | 2020.02.13 |
[PYTHON] flask + pymysql로 mysql 정보 호출 및 웹 표출 (4) | 2020.02.06 |
Comments