array 3

numpy array 구조를 image로 저장하기

이미지를 호출하기 위해서는 다음과 같은 패키지가 필요하다. from PIL import Image import numpy as np 이미지를 호출하고, 이를 np.array로 변환하면 28*28 이미지는 28*28*1 차원을 가지는 array가 될 것이다. 마지막 1은 channel을 의미하며, channel이 3인 경우 RGB 컬러 이미지를 의미한다. IMG_DIR = f'../datasets/images' img_path = os.path.join(IMG_DIR, file_name + '.jpg') img = np.array(Image.open(img_path)) 위 코드는 이미지가 저장된 경로에 접근해 jpg 파일을 호출하는 코드다. 호출된 코드는 아래와 같은 구조를 가지고 있다. array 구조를..

Python 2022.06.01

array와 asarray의 차이

numpy를 사용하는 코드를 참고하다 보면 array를 사용하는 경우와 asarray를 사용하는 경우를 볼 수 있다. 그렇다면 어떤 경우에 array를 쓰고, asarray를 쓰는 것일까? 구조적으로 보면 array와 asarray는 동일하다. 다만, array의 경우 copy=True가 기본값이지만, asarray의 경우 copy=False가 기본값이다. array를 다른 변수에 할당하고 원본을 변경할 경우 array의 copy본은 변경되지 않는다. 그러나 asarray의 경우에는 원본이 변경될 경우 asarray의 복사본까지 변경된다. a = np.ones([3, 4]) a_array = np.array(a) a_asarray = np.asarray(a) a[1] = 0 print(f'a_array ..

Python/Algorithm 2022.05.09

[Python] numpy - view, copy

파이썬의 리스트의 경우 다른 객체에 할당받은 후 그 객체를 변경해도 변경되지 않지만, 넘파이 array의 경우 view(원본)을 나타내기 때문에 원본이 변경되지 않게 하거나 copy를 해주어야한다. li = [x for x in range(10)] arr_li = li[:] arr_li[0] = 100 print(li) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(arr_li) # [100, 1, 2, 3, 4, 5, 6, 7, 8, 9] 리스트의 경우 위와 같이 객체 0번을 받아서 변경을해도 변경이 되지 않는 것을 확인할 수 있다. 복사본의 경우 변경되어 있는 것이 보인다. arr = np.arange(10) arr_view = arr[:] arr_view[0] = 100 pr..

Python/Numpy 2022.01.14
반응형