안녕하세요, Davey입니다. 오늘 포스팅할 내용은 python의 opencv 라이브러리를 이용하여 이미지를 대칭시켜서 출력하는 방법에 대해서 설명 드리도록 하겠습니다. 이미지를 Flip (뒤집다) 는다고 생각하시면 됩니다.
원하는 이미지를 불러와서 Flip 시키기
: 일단 원하는 이미지를 불러오는 코드를 입력하고 그 불러온 이미지에 간단한 "flip" 이라는 메서드를 이용하여 사진을 뒤집어 보도록 하겠습니다.
#opencv를 선언
import cv2
#원하는 이미지를 불러오는 코드를 입력
test_img_read = cv2.imread("001.png", cv2.IMREAD_COLOR)
#불러온 이미지를 기반으로 flip 시킴
test_img_revised = cv2.flip(test_img_read, 0)
- 위 코드를 간단하게 설명을 드리면, 대칭 메소드인 cv2.flip(이미지 읽어온 변수, 대칭하는 기준 값) 을 이용하여 이미지를 flip을 시키는 데, flip을 시키는 기준 축은 아래와 같습니다.
1) flipCode < 0은 XY 축 대칭(상하좌우 대칭)을 적용
2) flipCode = 0은 X 축 대칭(상하 대칭)을 적용
3) flipCode > 0은 Y 축 대칭(좌우 대칭)을 적용
Flip 시킨 이미지 크기 조정하기
: Flip된 이미지의 크기를 조정해보도록 하겠습니다. 이 부분은 이전 포스팅에서 설명을 드렸듯이 아래 코드를 사용을 하시면 됩니다. 혹시 이전 포스팅을 안 보고 오셨다면 아래 포스팅을 보시고 미리 선 공부해오시면 더 이해가 빠르실 거 같습니다.
test_resize1 = cv2.resize(test_img_read, dsize=(500, 500), interpolation=cv2.INTER_AREA)
test_resize2 = cv2.resize(test_img_revised, dsize=(500, 500), interpolation=cv2.INTER_AREA)
원본 이미지와 Flip된 이미지를 동시에 출력
: Flip된 이미지가 원본 이미지와 어떻게 다르게 적용이 되었는지를 파악하기 위해 원본 이미지도 같이 출력하는 코드를 사용하였습니다. 아래 코드는 이미지 불러와서 보여주는 코드이니 추가 설명을 하지 않도록 하겠습니다.
cv2.imshow("test_img_read photo", test_resize1)
cv2.imshow("test_img_revised photo", test_resize2)
- 위의 코드를 실행을 시켜 보면 아래와 같이 원본 이미지와 Flip (0 이므로 X측을 대칭하였음) 된 이미지를 확인 하실 수 있습니다.
opencv 코드 종료
: 카메라 출력이 아니니 delay를 줄 필요가 없어서 아래와 같이 cv2.waitKey(0)을 선언을 하였고, 해당 window를 닫기 위해서 cv2.destroyAllWindows() 코드를 삽입하였습니다.
cv2.waitKey(0)
cv2.destroyAllWindows()
맺음말
: 오늘 포스팅은 이미지를 대칭 시키는 방법 즉, 뒤집다, Flip 한다라는 의미를 적용한 코드를 구현을 해보았습니다. 간단한 코드지만 이런 메소드를 모른다면, 정말 난감할 거 같습니다. 하나 하나 배워간다는 마음으로 포스팅하도록 하겠습니다. 이만 마무리 하도록 하겠습니다. 감샇바니다.
제 Posting이 조금이나마 정보 전달에 도움이 되셨길 빌며, 되셨다면, 구독, 댓글, 공감 3종 세트 부탁 드립니다. 감사합니다.
[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]
'파이썬 (Python) > 딥러닝 (Deep Learning)' 카테고리의 다른 글
Python opencv 이용하여 이미지 확대 및 축소 하는 방법 (0) | 2021.02.22 |
---|---|
Python opencv 이용하여 이미지 회전해서 출력하는 방법 (1) | 2021.02.22 |
Python opencv 이용하여 이미지 크기 조절하는 방법 (2) | 2021.02.21 |
Python opencv 이용하여 카메라 출력 하는 방법 + 이미지 연속으로 출력 하는 방법 (1) | 2021.02.21 |
Tendorflow + keras history.history['acc'] 오류 해결 방법 (0) | 2021.02.21 |
댓글