해결된 질문
작성
·
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 버전이나 다른 관련 모듈의 충돌 여부도 확인해보세요.