2017-09-16 6 views
-1

은 내가 NumPy와 배열이 있습니다 (예 : 대한NumPy와 배열 - 개 미만

>>> pixels 
array([[233, 233, 233], 
     [245, 245, 245], 
     [251, 251, 251], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248]], dtype=uint8) 

난에 대한 (230보다 크고보다 낮은 240 값에 대한 부울 배열을 얻기 위해 무엇을 할 수 있는지 예)? 내가

230<pixels<240 

내가이 마사지를받을 쓸 때 :

Traceback (most recent call last): 
    File "<pyshell#78>", line 1, in <module> 
    100<pixels<300 
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

내가

230<pixels and 240>pixels 

덕분에 많이 쓰는 경우도 작동하지 않습니다입니다! numpy.where 루틴

+1

사용 괄호와'& '연산자를 사용합니다. – Divakar

+0

@Divakar가 제안한대로'(pixels> 230) & (pixels <240)'을 사용하십시오. –

답변

0

:

import numpy as np 
a = np.array([[233, 233, 233], 
     [245, 245, 245], 
     [251, 251, 251], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248], 
     [248, 248, 248]], dtype='uint8') 

b = np.where((a > 230) & (a < 240), True, False) 
print(b) 

출력 :

[[ True True True] 
[False False False] 
[False False False] 
[False False False] 
[False False False] 
[False False False] 
[False False False] 
[False False False] 
[False False False] 
[False False False]]