반응형

원본영상을 90도 회전시키는 함수

회전각에 원하는 각을 넣어 회전 가능하다. (for문으면 계속 빙빙돌릴 수 있다)

'''
    made by 안산드레아스
    이미지 회전하기
    필요 패키지 : python-opencv
'''
import cv2


'''
    이미지를 돌리는 함수
    :param
        img    : 이미지
        degree : 회전각
'''
def im_rotate(img, degree):
    h, w = img.shape[:-1]

    crossLine = int(((w * h + h * w) ** 0.5))
    centerRotatePT = int(w / 2), int(h / 2)
    new_h, new_w = h, w

    rotatefigure = cv2.getRotationMatrix2D(centerRotatePT, degree, 1)
    result = cv2.warpAffine(img, rotatefigure, (new_w, new_h))
    return result


# 현재경로의 이미지 불러오기
sample = cv2.imread('./0.jpg')
cv2.imshow('org', sample)

# 함수 실행하기
# 원본영상의 자를 영역 원점 x,y좌표 지정. 그리고 새로 생성할 이미지 frame크기 지정
result = im_rotate(sample, 90)
cv2.imshow('img', result)

cv2.waitKey(0)
cv2.destroyAllWindows()
반응형

아래와 같은 결과. 다만 비율이 맞지 않는곳은 검정색으로 보인다.

 

검정색 비율까지 조절하는 방법, 영상 회전, 확대 축소시키는 코드 아래 참고

https://ansan-survivor.tistory.com/641

 

[Python OpenCV] 파이썬 이미지 회전하기, 확대 축소 하기

'mask.jpg' 라는 이미지를 파일로 만들어 사용했다. 파이썬 돌리는 코드와 동일한 디렉터리에 해당 파일이 있어야 한다. 이미지를 회전시키기. 이미지의 scale 조절하기 두 기능을 합쳐서 움직이기

ansan-survivor.tistory.com

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts