이미지 대칭
이미지 대칭함수에 대해 알아봅시다. 간단한 코드에요.
말 그대로 원본 이미지를 갖고 상하반전, 좌우반전, 상하좌우반전 모두가 가능합니다.
전체 코드
import cv2
image = cv2.imread("Earth_2.jpg",cv2.IMREAD_ANYCOLOR)
remage = cv2.resize(image,None,fx=0.4,fy=0.4,interpolation=cv2.INTER_AREA)
remage_ver = cv2.flip(remage,0)
remage_hor = cv2.flip(remage,1)
remage_both = cv2.flip(remage,-1)
cv2.imshow("original",remage)
cv2.imshow("ver",remage_ver)
cv2.imshow("hor",remage_hor)
cv2.imshow("both",remage_both)
cv2.waitKey(0)
cv2.destroyAllWindows()
결과 화면
사용 하는 함수는 'flip' 입니다.
즉, flip함수는 cv2 라이브러리 안에 내장된 함수이므로 cv2에서 가져온 함수는 flip이다. 라는 의미를 갖고 있습니다.
원본 이미지 옆에 제가 숫자로 0,1,-1을 적어놓은게 보일 겁니다. 이걸 플립코드라 하는데요. 정확히 따지자면 0,양수,음수입니다. 즉, 0을 제외하고는 어떤 숫자를 넣어도 됩니다.
cv2.cvtColor?
색 변환에는 크게 2가지 유형이 있습니다. 아래 소제목들을 통해 살펴봅시다.
사진 보시면 코드에 원본 이미지를 호출 할 때, cv2.IMREAD_GRAYSCALE 이란게 보입니다. ANYCOLOR, UNCHANGED , COLOR 등등은 사실상 원본이미지 거의 그대로 출력하는 타입들입니다.
근데 여기 GRAYSCALE은 원본이미지를 흑백으로 출력하는 타입입니다.
결과는 똑같습니다. 다만, 'cvtColor' 함수를 통해서 COLOR타입에서 하나를 선택하여 흑백으로 바꿨습니다. 이름에서도 유추가 가능하듯이 기존의 RGB채널에서 GRAYSCALE로 바꾸는 것입니다.
흑백 이미지로 변환하는 이유가 뭔가요?