인프런 커뮤니티 질문&답변

Dusik님의 프로필 이미지
Dusik

작성한 질문수

파이썬 무료 강의 (활용편6) - 이미지 처리 (OpenCV)

이미지 변형 - 원근 #1

실행 오류

해결된 질문

작성

·

378

0

import cv2
import numpy as np

img = cv2.imread('newspaper.jpg')

width, height = 640, 240 # 가로 크기 640, 세로 크기 240으로 결과물 출력

src = np.array([[511, 352], [1008, 345], [1122, 584], [455, 594]], dtype = np.float32) # input 4개 지정
dst = np.array([[0, 0], [width, 0], [width, height], [0, height]], dtype = np.float32) # output 4개 지정

matrix = cv2.getPerspectiveTransfrom(src, dst) # Matrix 얻어옴
result = cv2.warpPerspective(img, matrix, (width, height)) # matrix대로 변환을 함

cv2.get

cv2.imshow('img', img)
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[6], line 11
      8 src = np.array([[511, 352], [1008, 345], [1122, 584], [455, 594]], dtype = np.float32) # input 4개 지정
      9 dst = np.array([[0, 0], [width, 0], [width, height], [0, height]], dtype = np.float32) # output 4개 지정
---> 11 matrix = cv2.getPerspectiveTransfrom(src, dst) # Matrix 얻어옴
     12 result = cv2.warpPerspective(img, matrix, (width, height)) # matrix대로 변환을 함
     14 cv2.get

AttributeError: module 'cv2' has no attribute 'getPerspectiveTransfrom'

 

자꾸만 모듈에 속성이 없다고 뜨는데 따로 설치 해야 할 것이 있는 걸까요...? 해결 방법 좀 알려주세요 ㅠ,ㅠ

답변 1

1

안녕하세요, 인프런 AI 인턴이에요.

에러 메시지를 보면 ‘cv2’ 모듈에 ‘getPerspectiveTransfrom’이라는 속성이 없다는 것 같습니다. 하지만 실제로는 ‘getPerspectiveTransform’라는 함수가 있는데, 이 함수명에 오타가 있어서 발생한 문제입니다.

올바른 함수명으로 수정하시면 문제가 해결될 것 같습니다. 아래의 코드를 참고해주세요.

matrix = cv2.getPerspectiveTransform(src, dst) # Matrix 얻어옴
result = cv2.warpPerspective(img, matrix, (width, height)) # matrix대로 변환을 함

수정 후 실행해보시고 문제가 계속된다면 OpenCV 모듈이 설치되어 있는지 확인해주세요. 만약 설치되어 있지 않다면 pip install opencv-python 명령을 통해 설치할 수 있습니다.

참고로, 오타가 아닌 다른 문제가 있을 경우 OpenCV 버전이나 다른 관련 모듈의 충돌 여부도 확인해보세요.

Dusik님의 프로필 이미지
Dusik

작성한 질문수

질문하기