텐서플로우 IDLE 파이썬 오류?
제가 텐서플로우를 공부하고 있는데 idle파이썬에서
https://sites.google.com/view/dailycoding00/main/%EC%95%8C%ED%8C%8C%EC%98%A4-%ED%95%99%EC%8A%B5에 있는 코드를 실행하려 합니다
그래서 anaconda prompt에서 conda activate tens_2를 하고 idle python을 실행했는데
Traceback (most recent call last):
File "C:\Windows\system32\python", line 343, in <module>
ex = MyApp()
File "C:\Windows\system32\python", line 16, in init
self.initUI()
File "C:\Windows\system32\python", line 38, in initUI
self.boardcv2 = cv2.cvtColor(boardcv2, cv2.COLOR_BGR2RGB)
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-xr4y3u3\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !src.empty() in function 'cv::cvtColor'
라는 오류가 나옵니다 무슨뜻이고, 어떻게 해결할 수 있을까요?
아니면 코드를 다른 방법으로 실행시킬 수 있나요?
src.empty() 에러로 그림파일(.png)이 제대로 로드 되지 않은것으로 보입니다.
python코드가 있는 경로로 들어가서 실행하던가, 그림파일의 경로를 절대경로로 수정하시는 것을 추천드립니다.
학습 결과와 모델파일 로드도 그림파일처럼 상대경로로 되어있기에, 경로를 수정한다면 모두 변경해야합니다.
경로수정이 어려우시다면 프로젝트 폴더를 C:\로 옮겨서 모든 리소스를 cv2.imread('/omok_v1.0/source/board1515.png')
이런 식으로 하셔도 됩니다.gen_train_data.py
37: # read image in numpy array (using cv2) 38: boardcv2 = cv2.imread('source/board1515.png') 39: self.boardcv2 = cv2.cvtColor(boardcv2, cv2.COLOR_BGR2RGB) 40: 41: white_ball = cv2.imread('source/white.png') 42: self.white_ball = cv2.cvtColor(white_ball, cv2.COLOR_BGR2RGB) 43: 44: black_ball = cv2.imread('source/black.png') 45: self.blackball = cv2.cvtColor(blackball, cv2.COLOR_BGR2RGB)play_with_AI.py
36: # read image in numpy array (using cv2) 37: boardcv2 = cv2.imread('source/board1515.png') 38: self.boardcv2 = cv2.cvtColor(boardcv2, cv2.COLOR_BGR2RGB) 39: 40: white_ball = cv2.imread('source/white.png') 41: self.whiteball = cv2.cvtColor(whiteball, cv2.COLOR_BGR2RGB) 42: 43: black_ball = cv2.imread('source/black.png') 44: self.blackball = cv2.cvtColor(blackball, cv2.COLOR_BGR2RGB)
opencv라는 애는 그래픽관련된 라이브러리인데 텐서에서 그걸 얹어서 코딩을 하는 예제인거 같네요.
에러문구를 보면 opencv 버젼이 호완되지 않는거 같습니다. 그리고 해당 사이트에서 보시면 4.0으로 사용하라고 나와 있네요. 4.0으로 다운그레이드를 시켜주거나, 개발자 버젼으로 재설치 해보세요.