크기가 작은 배열 (500, 500, 3)로 표현되는 RGB 이미지가 있습니다. 나는 또한 각 픽셀이 0과 99 사이의 정수 값을 갖는 크기 배열 (500, 500)을가집니다. 이것은 기본적으로 이미지를 여러 하위 영역으로 나눕니다. 서브 어레이에 속하는 픽셀은 동일한 정수 인덱스를 공유합니다.python : 이미지의 하위 집합에 대한 통계 계산
저는이 부분 집합 각각에 대해 평균 및 표준 편차를 계산하는 것과 같은 계산을하는 데 관심이 있습니다. 나는 그것이 루프를 많이 포함하고있는 중이 야
# image is of size (500, 500, 3) ->RGB values
# label is of size (500, 500) -> contains integers
import numpy as np
mean = np.zeros((100, 3))
for i in range(0, 100):
count = 0
for x in range(0,500):
for y in range(0,500):
if label[x, y] == i:
mean[i, :] += image[x, y,:]
count = count + 1
# Compute the mean
if count > 0:
mean[i,:] /= count
방법과 꽤 비 파이썬 될 것으로 보인다 및 I : I는 다음과 같이 이미지 위에 반복하여이 작업을 수행 할 수 있습니다 (예를 들어 평균을 계산합니다) 이 작업을 수행하는 데 더 나은 (속도 감각으로) 방법이 있는지 궁금해하고있었습니다.
감사합니다! 이제 코드 세그먼트를 작성하는 것이 당황 스럽습니다. 평균 함수에 대한 매개 변수 (0)가 무엇을 설명 할 수 있습니까? 그것은 각 축을 따라 컴퓨팅 평균 인 것 같습니다 (이것은 내가 원했던 것입니다!) 그러나 문서에서 나에게 명확하지 않습니다. – Luca
처음 두 치수가 마스크에 의해 평평 해지고 첫 번째 치수에 대해 평균값이 계산되므로 3 개의 요소가있는 벡터를 얻을 수 있으므로 2 차원 배열을 얻습니다. – Daniel