Python OpenCV 강좌 : 제 5강 - 대칭

Python OpenCV Flip(Symmetry)

Python OpenCV 강좌 : 제 5강 - 대칭
[ Python-OpenCV ] - 윤대희

대칭 (Flip, Symmetry)


1

대칭(Flip)은 기하학적인 측면에서 반사(reflection)의 의미를 갖습니다.

2차원 유클리드 공간에서의 기하학적인 변환의 하나로 \(R^2\)(2차원 유클리드 공간) 위의 선형 변환을 진행합니다.

대칭은 변환할 행렬(이미지)에 대해 2×2 행렬을 왼쪽 곱셈을 진행합니다. 즉, ‘p’ 형태의 물체에 Y축 대칭을 적용한다면 ‘q’ 형태를 갖게 됩니다.

그러므로, 원본 행렬(이미지)에 각 축에 대한 대칭을 적용했을 때, 단순히 원본 행렬에서 축에 따라 재매핑을 적용하면 대칭된 행렬을 얻을 수 있습니다.



Main Code


import cv2

src = cv2.imread("Image/glass.jpg", cv2.IMREAD_COLOR)
dst = cv2.flip(src, 0)

cv2.imshow("src", src)
cv2.imshow("dst", dst)
cv2.waitKey()
cv2.destroyAllWindows()



Detailed Code


src = cv2.imread("Image/glass.jpg", cv2.IMREAD_COLOR)

이미지 입력 함수(cv2.imread)를 통해 원본 이미지로 사용할 src를 선언하고 로컬 경로에서 이미지 파일을 읽어 옵니다.



dst = cv2.flip(src, 0)

대칭 함수(cv2.flip)로 이미지를 대칭할 수 있습니다.

dst = cv2.flip(src, flipCode)원본 이미지(src)대칭 축(flipCode)을 기준으로 대칭한 출력 이미지(dst)를 반환합니다.

대칭 축상수를 입력해 대칭할 축을 설정할 수 있습니다.

flipCode < 0XY 축 대칭(상하좌우 대칭)을 적용합니다.

flipCode = 0X 축 대칭(상하 대칭)을 적용합니다.

flipCode > 0Y 축 대칭(좌우 대칭)을 적용합니다.



cv2.imshow("src", src)
cv2.imshow("dst", dst)
cv2.waitKey()
cv2.destroyAllWindows()

이미지 표시 함수(cv2.imshow)키 입력 대기 함수(cv2.waitkey)로 윈도우 창에 이미지를 띄울 수 있습니다.

이미지 표시 함수는 여러 개의 윈도우 창을 띄울 수 있으며, 동일한 이미지도 여러 개의 윈도우 창으로도 띄울 수 있습니다.

단, 윈도우 창의 제목은 중복되지 않게 작성합니다.

키 입력 대기 함수로 키가 입력될 때 까지 윈도우 창이 유지되도록 구성합니다.

키 입력 이후, 모든 윈도우 창 제거 함수(cv2.destroyAllWindows)를 이용하여 모든 윈도우 창을 닫습니다.



Result


2



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python OpenCV 강좌 : 제 4강 - 비디오 출력 ⤧  Next post Python OpenCV 강좌 : 제 6강 - 회전
    Python-OpenCV Category