TroubleShooting11 UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown 이 경고는 보통 파이썬 주피터 환경에서 그래프가 제대로 표시되지 않을때 발생한다.나는 이 문제를 주피터 노트북에서 아래 코드를 실행하려고 했을때 마주했었다. 이 문제를 해결하는 방법은 간단하다.인라인 모드로 변경하면, 그 인라인 모드에 포함되어 있던 인터렉티브 모드 또한 실행이 되기에,인라인을 활성화시키는 방법이다.%matplotlib inline 전체코드는 다음과 같다.code>import matplotlib.pyplot as pltimport numpy as np%matplotlib inliney = np.arange(3)years = ['2018', '2019',.. TroubleShooting 2024. 10. 14. Invalid number of channels in input image: 'VScn::contains(scn)' 'scn' is 1 [closed] opencv로 작업을 진행할때, 이미지를 읽어오는 과정에서 가끔 아래와 같은 오류가 발생합니다. Invalid number of channels in input image: 'VScn::contains(scn)' 'scn' is 1 [closed] 이는 OpenCV에서 필터링 작업을 할때 입력 이미지의 채널수가 예상과 다를때 발생하는 오류입니다.마치 이런거죠, add()라는 함수가 정의되어 있고, 여기에 들어가는 인수가 add(1,7) 인 것처럼, 총 두개의 인수가 들어가야 하는데, 한개의 입력밖에 안들어온 상황에서 입력되는 값의 조건을 충족하지 못해서 오류가 뜨는 것처럼요. 이번 오류 또한 같은 맥락입니다.보통 컬러 이미지가 아닌 그레이스케일 이미지에 대해 컬러 이미지를 다루는 함수나 필터를 적용.. TroubleShooting 2024. 8. 24. AttributeError: module 'cv2' has no attribute 'waitkey' 요즘 opencv를 쓰면서 아래와 같은 오류를 자주 접하게 됩니다. AttributeError: module 'cv2' has no attribute 'waitkey' 이 오류는 매우 단순한 오류이지만, 항상 저를 짜증나게 하는 오류같네요. 바로 대소문자를 틀려서 그렇습니다.cv2라는 모듈에 들어가보면은 waitkey()라는 메소드는 온데간데 없고, waitKey()만 존재하기 때문이죠. 따라서 혹시 여러분들도 이런 오류를 접하게 되면 opencv의 대소문자 규칙을 따져서 이 문제를 해결해보시면 좋을 것 같습니다. opencv의 대소문자 규칙은 그냥 하다보면 감이 오게 됩니다ㅎㅎ 긴글 읽어주셔서 감사합니다:):) TroubleShooting 2024. 8. 24. AttributeError: module 'pcl' has no attribute 'PointCloud' 위 문제는 자율주행차량을 돌리기 위해 ros의 rviz상에서 rosbag녹화딴거를 재생하는 시점에서 3차원데이터를 가공하기 위해 pcl라이브러리를 사용하기 위해 설치를 진행했으나, 계속해서 설치오류가 발생하여 이에 대해 기록한 부분이다. 분명 아래 절차를 통해 설치를 진행했다.sudo apt updatesudo apt install python3-pcl이렇게 설치가 완료된 후, PCL을 사용하여 포인트 클라우드 데이터의 처리를 진행했다.하지만 기존 오류가 계속 떠서 다른 방식으로 접근해보았다. 1. 소스 코드 다운로드`pcl.PointCloud` 메소드를 사용하기 위해서는 `v2.0` 버전의 pcl이 필요하다는 것을 알았다. 그래서 pip로 직접 해당 버전을 받는 것이 아닌, github에서 라이브러리의.. TroubleShooting 2024. 8. 3. RuntimeWarning: divide by zero encountered in scalar divide M[n, m] = num / den 해결방법 아래 코드를 실행했을때, 정상적으로 3d_plot이 나오기는 했지만, '런타임워닝'이 떴다. import numpy as np import matplotlib.pyplot as plt B = [1, -20] A = [1, 0, 100] S = np.zeros((50, 50), dtype=complex) for n in range(50): for m in range(50): S[n, m] = (n - 25) + 1j * (m - 25) M = np.zeros((50, 50), dtype=complex) for n in range(50): for m in range(50): s = S[n, m] num = B[0] * s + B[1] den = A[0] * s**2 + A[1] * s**1 + A[2] M[.. TroubleShooting 2023. 10. 20. RuntimeWarning: invalid value encountered in arcsin axes[1][1].plot(x, np.arcsin(x)) 해결방법 삼각함수인 sin() / cos() / tan() 에 대해 다음과 역삼각함수로 표현하는 파이썬 코드를 짜보았다. 코드> import matplotlib.pyplot as plt import numpy as np x = np.linspace(-np.pi, np.pi, 200) fig, axes = plt.subplots(3,2, figsize=(8,12)) #2행 2열 axes[0][0].plot(x, np.sin(x)) axes[0][0].set_title('Sine_func()') axes[0][1].plot(x, np.arcsin(x)) axes[0][1].set_title('ArcSine_func()') axes[1][0].plot(x, np.cos(x)) axes[1][0].set_title('C.. TroubleShooting 2023. 10. 10. TypeError: FigureBase.gca() got an unexpected keyword argument 'projection' 해결방법 아래 링크에서 matplotlib이라는 모듈을 써서 3차원 플롯을 그리는 법을 알게 되었다. http://www.gisdeveloper.co.kr/?p=7353 파이썬의 matplotlib 노트 – GIS Developer 파이썬의 matplotlib는 수치 데이터를 그래프로 효과적으로 표시해주는 API입니다. 이에 대해 간단한 활용 예시에 대한 코드를 기록해 둡니다. import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 2, 3, 4, 5] www.gisdeveloper.co.kr 위 링크에 따르면 코드와 그 결과는 다음과 같았다. 코드> import numpy as np from mpl_toolkits.mplot3d import Axes3D imp.. TroubleShooting 2023. 10. 9. UnboundLocalError: local variable 'result1' referenced before assignment 해결 result1 = 0 result2 = 0 def add1(num): #global result1 result1 += num return result1 def add2(num): #global result2 result2 += num return result2 print(add1(3)) print(add1(4)) print(add2(3)) print(add2(7)) 위 코드를 실행하면 아래와 같은 오류가 뜨게 된다. 이는 대표적으로 외부에서 선언된 변수를 함수속에서 호출하고자 할때 발생하는 전형적인 실수이다. 결론부터 말하져면, 에러가 터지는 변수들에 대해서 함수 안에서 'global' 선언을 해줄 필요가 있다. result1 = 0 result2 = 0 def add1(num): global resul.. TroubleShooting 2023. 6. 3. AttributeError: 'str' object has not attribute에 대한 해결방법 해당 포스팅은 아래 링크의 예제를 직접 클론코딩 해보는 과정에서 발생한 오류를 해결하는 과정을 담은 글입니다. https://wikidocs.net/129741 090 웹 페이지를 저장하려면? ― urllib urllib은 URL을 읽고 분석할 때 사용하는 모듈이다. ## 문제 브라우저로 위키독스의 특정 페이지를 읽으려면 다음과 같이 요청하면 된다. ```no-highlight … wikidocs.net 위 글에서 나온 함수를 정의하고 이를 맨 아랫줄에서 호출하였더니 정상작동하였습니다. import urllib.request def get_wikidocs(page): print("wikidocs page:{}".format(page)) # 페이지 호출시 출력 resource = 'https://wikid.. TroubleShooting 2023. 1. 26. GuessedAtParserWarning: No parser was explicitly specified, so... 해결방법(BeaultifulSoup() 파서경고 해결하기!) 아래 코드는 bs4.py(라이브러리)파일에서 BeautifulSoup 관련해서 가져와서, 웹크롤링을 시도해본 기본적인 코드입니다. from bs4 import BeautifulSoup html_doc = """ The Dormouse's story Once upon a time there were three little sisters; and their names were Elsie, Lacie and Tillie; and they lived at the bottom of a well. ... """ soup = BeautifulSoup(html_doc) print("p : " , soup.p) 아래 코드를 PyCharm에서 실행(Shift + F10)해보면, 경고를 띄우게 됩니다. 에러가 아니라 경고이.. TroubleShooting 2023. 1. 21. TypeError: can only concatenate str (not "list") to str 해결방법 아래와 같이 코드를 짰을때, 아래와 같이 print() 를 잘못구현했다고 뜨네요;; TypeError: can only concatenate str (not "list") to str 타입에러: 오직 str("리스트"가 아니라)만 str에 연결할 수 있어요(str끼리만 연결가능해요) print()는 string 형태끼리만 '+'라는 기호로 연결(concatenate)이 가능합니다. 그 이외의 형태조합끼리는 ','(comma)를 붙여서 연결을 해야 합니다! (Don't forget it !!) 아래 예시를 보면 이해가 쉬울 것 같습니다! TroubleShooting 2023. 1. 20. 이전 1 다음