2016-09-08 4 views
2

cv2를 통해로드 된 numpy 배열의 이미지를 컨벌루션 레이어의 심층 학습 라이브러리 mxnet에 맞는 형식으로 변환해야합니다.OpenCV 이미지 재구성 (numpy) 크기

내 현재 이미지의 모양은 다음과 같습니다 : (256, 256, 3) 또는 (높이, 너비, 채널).

내가 말한 것으로부터 실제로는 (3, 256, 256) 또는 (채널, 높이, 너비) 여야합니다.

numpy/python opencv에 대한 지식은 배열을 올바르게 조작하는 방법을 알기에 충분하지 않습니다.

나는 cv2.split에 의해 채널로 배열을 나눌 수 있다는 것을 알았지 만 올바른 형식으로 다시 결합하는 방법에 대해서는 확신이 없습니다. (cv2.split이 최적인지는 모르겠습니다. , 또는 numpy에서 더 좋은 방법이 있다면).

도움 주셔서 감사합니다.

답변

2

당신은 다음과 numpy.rollaxis를 사용할 수 있습니다 이것은 2이 차 new_shaped_image의 축 0 자리에있을 것을 의미합니다 당신의 image 모양 (height, width, channels)

import numpy as np 

new_shaped_image = np.rollaxis(image, axis=2, start=0) 

로합니다.

그래서 new_shaped_image.shape(channels, height, width)

+0

감사 할 것이다! 이것은 매우 유용한 명령입니다. – AdmiralJonB

관련 문제