나는 이미지에서 데이터가 부족한 배열을 만들었다. numpy 배열을 1 차원 배열로 변환하고 싶습니다.왜 내 배열이 바뀌지 않습니까?
import numpy as np
import matplotlib.image as img
if __name__ == '__main__':
my_image = img.imread("zebra.jpg")[:,:,0]
width, height = my_image.shape
my_image = np.array(my_image)
img_buffer = my_image.copy()
img_buffer = img_buffer.reshape(width * height)
print str(img_buffer.shape)
이미지는 128x128입니다.
그러나,이 프로그램은 인쇄 출력 (128, 128). 그래도 img_buffer
은 1 차원 배열이 되길 원합니다. 이 배열을 어떻게 변형합니까? numpy가 실제로 배열을 1 차원 배열로 재 형성하지 않는 이유는 무엇입니까?
컬러 이미지가있는 것처럼 보이지만 이미지의 각 픽셀에 대한 빨간색 채널 만 읽는 중입니다. 그것이 당신의 의도입니까? –
감사! 내 원래의 의도는 모든 RGB를 읽는 것입니다. 왜 내가 빨간 채널을 읽는거야? – dangerChihuahua007
@DavidFaux wim이 말한 것처럼 정확한 코드를 가지고 질문을 신속하게 편집 했으므로 다시 변경하십시오. 이 코드가 작동하는 이유는 "왜이 기능이 작동하지 않습니까?"라는 질문을하는 것이 완전히 혼란 스럽습니다. – seberg