[Python] opencv - 이미지 자르기, 대칭, 회전

개발log·2024년 3월 5일
0

Python

목록 보기
12/17
post-thumbnail

이미지 자르기

새 창에 자른 이미지 띄우기

import cv2
img = cv2.imread('../OpenCV/dog.jpg')

crop = img[100:200, 200:400] # 세로기준 100~200, 가로기준 200~400
cv2.imshow('img',img)
cv2.imshow('crop',crop)
cv2.waitKey(0)
cv2.destroyAllWindows()

이미지 안에 자른 이미지 넣기

import cv2
img = cv2.imread('../OpenCV/dog.jpg')
# 이미지 안에 자른 이미지 넣기
crop = img[100:200, 200:400] # 세로기준 100~200, 가로기준 200~400
img[100:200, 400:600] = crop

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

이미지 대칭

좌우 대칭

  • cv2.flip(img, 1): filpCode>0 좌우 대칭
import cv2
img = cv2.imread('../OpenCV/dog.jpg')
flip_ho = cv2.flip(img, 1)# filpCode>0: 좌우 대칭
cv2.imshow('img',img)
cv2.imshow('filp_ho', flip_ho)
cv2.waitKey(0)
cv2.destroyAllWindows()

상하 대칭

  • cv2.flip(img, 1): filpCode==0 상하 대칭
import cv2
img = cv2.imread('../OpenCV/dog.jpg')
flip_ho = cv2.flip(img, 0)# filpCode==0: 상하 대칭
cv2.imshow('img',img)
cv2.imshow('filp_ho', flip_ho)
cv2.waitKey(0)
cv2.destroyAllWindows()

상하좌우 대칭

  • cv2.flip(img, 1): filpCode<0 상하좌우 대칭
import cv2
img = cv2.imread('../OpenCV/dog.jpg')
flip_ho = cv2.flip(img, -1)# filpCode<0: 상하좌우 대칭
cv2.imshow('img',img)
cv2.imshow('filp_ho', flip_ho)
cv2.waitKey(0)
cv2.destroyAllWindows()

이미지 회전

시계 방향 90도

  • cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE): 시계방향 90도 회전
import cv2
img = cv2.imread('../OpenCV/dog.jpg')

rotate_90 = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE) # 시계 방향으로 90도 회전
cv2.imshow('img',img)
cv2.imshow('rotate_90',rotate_90)
cv2.waitKey(0)
cv2.destroyAllWindows()

시계방향 180도

  • cv2.rotate(img, cv2.ROTATE_180): 시계방향 180도 회전
import cv2
img = cv2.imread('../OpenCV/dog.jpg')

rotate_180 = cv2.rotate(img, cv2.ROTATE_180) # 시계 방향으로 90도 회전
cv2.imshow('img',img)
cv2.imshow('rotate_180',rotate_180)
cv2.waitKey(0)
cv2.destroyAllWindows()

시계 반대방향 90도(270도)

  • cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE): 시계방향 270도 회전
import cv2
img = cv2.imread('../OpenCV/dog.jpg')

rotate_270 = cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE) # 시계 반대 방향으로 90도 회전
cv2.imshow('img',img)
cv2.imshow('rotate_270',rotate_270)
cv2.waitKey(0)
cv2.destroyAllWindows()

profile
나의 개발 저장소

0개의 댓글