2017-09-16 23 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) 

私は(240より230よりも大きな値と下限値のブール配列を取得するために何ができます例)?私は、このマッサージを取得

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]] 
関連する問題