자르기를 원하는 많은 이미지가 있습니다. 그럼 난 것처럼 내 이미지를 처리하기 위해 함께 두 가지 기능을 체인 것PIL을 사용하여 이미지 재구성 및 자르기를 벡터화
def crop_images(images_data):
cropped_images = []
for image_data in images_data:
image = Image.fromarray(image_data)
cropped_image = np.asarray(image.crop((25,40,275,120)))
cropped_images.append(cropped_image)
return(np.array(cropped_images))
def resize_images(images_data):
resized_images = []
width, height = images_data.shape[2], images_data.shape[1]
resized_width, resized_height = int(width/2), int(height/2)
for image_data in images_data:
image = Image.fromarray(image_data)
image = image.resize((resized_width, resized_height), Image.ANTIALIAS)
resized_images.append(np.asarray(image))
return(np.array(resized_images))
: resize_images(crop_images(images_data))
하지만 내가 할 수있는 방법이 있는지 궁금 해서요 내가 두 도우미 함수를 쓴이 좀 도와 numpy
이 이상적으로 벡터화 된 연산을 수행해야한다는 것을 알고 있으므로 이러한 연산을 벡터화하십시오. 당신은 하나의 3 차원 배열에 모든 이미지를 넣어 경우, 당신은 한 번에 모두를자를 수 있습니다 자르기
같은 모양으로 자릅니다. 그렇다면 이미 초기화하지 않은 경우 초기화 된 출력 배열을 사용하는 것이 좋습니다. – Divakar
이 경우 이미지 라이브러리를 사용하여 자르기 대신 numpy를 사용하여 자르기가 더 최적 인 것처럼 보입니다. – physicalattraction