본문 바로가기

Numpy4

Python NaN Python 에서 nan 값을 다루는 법을 알아봅니다. NaN 이란? NaN 값은 ‘Not a Number’ 을 뜻합니다. 숫자가 아니라는 뜻이죠. 0을 0으로 나누거나 음수의 제곱근을 구하고자 하면 정상적인 값을 얻지 못할 것입니다. 그럼에도 반환값을 받아야 하는 경우 nan 값을 받게 됩니다. Python에서는 0/0 을 수항하면 Error를 출력하는데, 다른 언어나 python의 numpy 라이브러리를 사용하는 경우 nan 값이 반환되는 것을 볼 수 있습니다. # nan returned a = np.array([1,2,3,0,5]) b = np.array([1,2,3,0,0]) print(a/b) # [ 1. 1. 1. nan inf] nan 은 IEEE 754 라 하여 부동소수점 연산에 관한 표준.. 2022. 7. 4.
Python opencv로 좌표 형태의 도형을 mask 이미지 배열로 변환, 또 역으로 Computer vision과 관련된 AI 경진대회들 중에서는 이미지에서 특정 물체를 분리해야 하는 과제를 주는 대회들이 존재한다. 이때, '어떤 물체가 어디에 존재한다'라는 정보를 mask 이미지로 주는 대회가 있는가 하면 영역을 다각형으로 표현하여 이 다각형의 좌표로 제공하는 대회가 있다. Segmentation 모델의 대부분은 mask 이미지를 받고, 또 mask 이미지의 형태로 결과를 반환한다. 다각형 좌표로 제공받았다면, 이를 mask 이미지로 변환하는 과정이 필요하다. 이 과정에 대하여 알아보자. import numpy as np import cv2 import matplotlib.pyplot as plt 좌표 형태의 도형을 mask배열로 만들기 opencv에 이미 관련 기능이 구현이 되어있다.. 2021. 7. 13.
Python에서 이미지 채널 BGR 에서 RGB로 변환하기 어느 날 사용할 예제 사진이 없어 전역 후 처음 먹었던 싸이 버거를 찍은 사진을 예제 사진으로 쓰기로 했었다. 평소보다도 더 환상적으로 맛있었던 그 싸이 버거를 추억하기 위해 cv2.imread()로 불러와 plt.imshow()를 이용하여 출력하였더니... 입맛을 떨어지게 하여 다이어트에 효과적이라는 파란색 음식 사진을 볼 수 있었다. 이 글에선 BGR 이미지를 RGB 이미지로 변경해 본다. import numpy as np import matplotlib.pyplot as plt import cv2 from pathlib import Path imgpath = Path('.') / 'img.jpg' img = cv2.imread(str(imgpath)) plt.imshow(img) 이미지를 불러오는 .. 2021. 7. 3.
numpy 배열의 생성과 조작 dnumpy 사용을 위하여 import를 해준다. import numpy as np numpy 배열 생성 np.array np.array 에 list를 넘겨주어 numpy 배열의 생성이 가능하다. np.array([1,3,5,7,9]) array([1, 3, 5, 7, 9]) np.ndarray ndarray에 원하는 shape로 생성이 가능하다. np.ndarray((3,4)) array([[6.95174279e-310, 7.89754161e-312, 7.89754160e-312, 4.94065646e-324], [8.32219288e-315, 0.00000000e+000, 0.00000000e+000, 7.41098469e-323], [4.00752607e+175, 6.89912841e-310, 0... 2021. 6. 22.