opencv
-
현재 DISPLAY가 되지 않아서 cv2.imshow가 작동할 수 없다는 에러이다. 원격 서버 display가 되지 않는 환경이라면 display가 되게 세팅하거나 cv2.imshow를 사용하지 않는 것이 좋다. 원격 서버에서 GUI를 띄우는 방법은 https://beelinekim.tistory.com/15 글을 참고할 수 있다. reinstall 하면 해결될 수도 있다는 글도 있었지만 나 같은 경우에는 해결되지 않았다. 혹시 해결될 수도 있어 첨부한다. reinstall 해결방법1 pip uninstall opencv-python pip install opencv-python reinstall 해결방법2 pip uninstall opencv-python pip install opencv-python-..
qt.qpa.xcb: could not connect to display :0qt.qpa.plugin: Could not load the Qt platform plugin "xcb" ...현재 DISPLAY가 되지 않아서 cv2.imshow가 작동할 수 없다는 에러이다. 원격 서버 display가 되지 않는 환경이라면 display가 되게 세팅하거나 cv2.imshow를 사용하지 않는 것이 좋다. 원격 서버에서 GUI를 띄우는 방법은 https://beelinekim.tistory.com/15 글을 참고할 수 있다. reinstall 하면 해결될 수도 있다는 글도 있었지만 나 같은 경우에는 해결되지 않았다. 혹시 해결될 수도 있어 첨부한다. reinstall 해결방법1 pip uninstall opencv-python pip install opencv-python reinstall 해결방법2 pip uninstall opencv-python pip install opencv-python-..
2023.10.04 -
물체의 경계선을 찾고 그리는 방법입니다. contour의 좌표가 이미 있다면 (annotation이 있는 경우) cv2.drawContours에 좌표를 바로 넣으시면 됩니다. import cv2 import numpy as np import matplotlib.pyplot as plt # 이미지 로드 # 그레이스케일로 변환 img = cv2.imread("opencv/경계선검출/testimg.png", cv2.IMREAD_GRAYSCALE) img_resize = cv2.resize(img, (450, 200)) img_resize_copy = img_resize.copy() # 정확도를 높이기 위해 binary 이미지로 변환 # 픽셀의 밝기값이 125이상이면 255, 아니면 0 # 도형픽셀의 밝기가 1..
opencv 경계선 찾기/그리기 (cv2.findContours / cv2.drawContours)물체의 경계선을 찾고 그리는 방법입니다. contour의 좌표가 이미 있다면 (annotation이 있는 경우) cv2.drawContours에 좌표를 바로 넣으시면 됩니다. import cv2 import numpy as np import matplotlib.pyplot as plt # 이미지 로드 # 그레이스케일로 변환 img = cv2.imread("opencv/경계선검출/testimg.png", cv2.IMREAD_GRAYSCALE) img_resize = cv2.resize(img, (450, 200)) img_resize_copy = img_resize.copy() # 정확도를 높이기 위해 binary 이미지로 변환 # 픽셀의 밝기값이 125이상이면 255, 아니면 0 # 도형픽셀의 밝기가 1..
2023.04.02 -
무게중심 구하기 thresholding은 cv2.threshold 함수를 사용하면 된다. 폐곡선을 여러개 가진 이미지라면 여러개의 무게중심 좌표가 리턴된다. def COG(input_array): """ :param input_array: 반드시 thresholding 된 array여야 함. :return: """ global cx, cy contours, hierarchy = cv2.findContours(input_array, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) for cnt in contours: M = cv2.moments(cnt) cx = int(M['m10']/M['m00']) cy = int(M['m01']/M['m00']) result_cx.append(..
[python] center of gravity (무게중심) 구하기무게중심 구하기 thresholding은 cv2.threshold 함수를 사용하면 된다. 폐곡선을 여러개 가진 이미지라면 여러개의 무게중심 좌표가 리턴된다. def COG(input_array): """ :param input_array: 반드시 thresholding 된 array여야 함. :return: """ global cx, cy contours, hierarchy = cv2.findContours(input_array, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) for cnt in contours: M = cv2.moments(cnt) cx = int(M['m10']/M['m00']) cy = int(M['m01']/M['m00']) result_cx.append(..
2019.10.28