0
2 차원 배열의 값을 매핑하려고합니다. 즉, 행을 (효율적으로) 반복하고 행 인덱스를 기반으로 값을 추가하려고합니다.numpy 맵 2D 배열 값
source = misc.imread(fname) # Load some image
img = np.array(source, dtype=np.float64)/255 # Cast and normalize values
w, h, d = tuple(img.shape) # Get dimensions
img = np.reshape(img, (w * h, d)) # Flatten 3D to 2D
# The actual problem:
# Map (R, G, B) pixels to (R, G, B, X, Y) to preserve position
img_data = ((px[0], px[1], px[2], idx % w, int(idx // w)) for idx, px in enumerate(img))
img_data = np.fromiter(img_data, dtype=tuple) # Get back to np.array
하지만 해결책은 제기 : 나는 시도 접근 방법의
하나는 ValueError: cannot create object arrays from iterator
는
사람이 numpy
효율적이 터무니없이 간단한 작업을 수행하는 방법을 제안 할 수 있습니다? 이 라이브러리가 얼마나 복잡한 지 내 마음에 들지 않습니다. 왜이 코드는 7000x5000 픽셀의 메모리를 몇기만 소비합니까?
감사
있다 np.array (img_data)'를 사용하여 모든 것을'np array '로 변환하면됩니까? – Adorn