2017-09-14 8 views
1

아주 자명 한. Pillow의 getcolors() 메서드는 각각 (1,3) 모양 (즉, (count, (r, g, b)))을 가진 튜플 목록을 반환합니다. 이 문제를 해결할 수있는 더 좋은 방법이 없다면 [n, [1, 3]] 형태의 배열을 어떻게 만들 수 있습니까?베개의 getcolors '치수가있는 numpy 배열

+0

그게 ...'(1, 3)'모양이 의미하는 것이 아니며'[n, [1, 3]] 모양은 사실이 아닙니다. 구조화 된 배열을 사용할 수도 있지만 중첩 된 튜플을 병합하는 것이 좋습니다. – user2357112

+0

플랫 텐 함수에 대해 완전히 잊었습니다. 감사합니다. – AlBeast

답변

0

n x 4numpy 어레이를 사용해야합니다. 첫 번째 축을 통해 getcolors 메서드의 여러 결과 중에서 하나를 선택할 수 있습니다. 두 번째 축에는 데이터가 포함됩니다. 첫 번째 항목에 count 값을 저장 한 다음 r, gb 값을 저장할 수 있습니다. 이 4 차원 그래서 당신이 저장할 데이터는 4 개 가지 정수를 포함

result = np.empty(number, 4) 
#get one entry 
count, r, g, b = result[n] 

당신은 항상 당신이 acutally 뭘 하려는지 알아 두셔야합니다 : 그럼 당신은 이런 식으로 뭔가를 할 수 있습니다. 그리고 n 다른 데이터 포인트가이 유형이라고 기대합니다. 따라서 배열의 모양은 n x 4이어야합니다.

추신 : 너는 모양의 차원의 이상한 정의를 사용한다; 이것은 당신에게 많은 문제를 일으킨다. 모양의 기본 정의를 사용하고 다차원 배열의 축으로 생각하는 것이 좋습니다.

+0

감사합니다. 튜플을 평평하게하고 시도해 보겠습니다! 그리고 예, numpy의 빈 방법으로 어지럽히고 난 후에, 나는 모양 형식을 완전히 이해하지 못한다는 것을 깨달았습니다. – AlBeast