Numpy에서 마스크가 작동하는 방식을 정말 모르겠다.numpy에서 정사각형 마스크를 생성하고 적용하는 방법
나는 그럼 난 그것을 내가 다른 몇 가지를 시도
>>>a
array([[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,0,0,1,1,1,1],
[1,1,0,0,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1]])
뭔가를했습니다했다 기다리고 있었다 무엇을
>>>a = numpy.ones((10,10))
>>>mask = make_mask(2,2,2,2,2)
>>>a[mask] = 0
>>>a
array([[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[0,0,0,0,0,0,0,0],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[0,0,0,0,0,0,0,0],
[1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1],
[0,0,0,0,0,0,0,0]])
를 사용하려고
import numpy
def make_mask(center_x,center_y,len_x,len_y):
x,y = numpy.ogrid[:len_x, :len_y]
mask = (center_x-x)**2 + (center_y-y)**2
return mask
같은 마스크를 만들 함수의 버전. 나는 단지 원하는 행동을 취할 수 없다. 내가 도대체 뭘 잘못하고있는 겁니까. 2D 매트릭스가 2D 매트릭스를 어떻게 인덱스하는지 실제로 이해하지 못합니다.
당신의 모든 게시물 수를 당신의 코드? 현재'make_mask' 함수는'center_x' 또는'center_y'를 정의하지 않으며 제공되는대로 작동하지 않습니다. 'center_x'와'center_y'가'index_x'와'index_y'가되지 않는다면 말입니다. 어느 쪽이든, 당신이 제공 한 방식대로 작동하지 않습니다. –
또한 make_mask 호출에 다섯 번째 매개 변수가 있습니다. – Benjamin
하지만, 당신이 찾고있는 것은 조각 표기법이라고 생각합니다 : http://stackoverflow.com/questions/509211/explain-pythons-slice-notation. 나는이 링크를 계산할 것이고 이것이 도움이 될 것이라고 믿는다. –