2017-02-15 12 views
1

Я чувствую, что должен быть простой способ сделать это, но я не могу найти решение в Интернете. Я ищу один лайнер, что-то питоническое.Как добавить условие к пиксельному звонку изображения? numpy opencv

Я знаю, что вы можете сделать это:

Img[:,:,2]=200 

но как вы можете добавить условие для этого?

if Img[:,:,2]<=100: 200 

или

image =[i==100 for i in Img[:,:,2] if i <= 100] 

Благодаря

ответ

2

Для имитации if a[:,:,2]<=100: 200, мы можем использовать np.where -

a[:,:,2] = np.where(a[:,:,2] <= 100, 200, a[:,:,2]) 

Или просто использовать маску для назначения -

a[a[:,:,2] <= 100,2] = 200 

Пример запуска -

In [379]: a 
Out[379]: 
array([[[ 78, 134, 7], 
     [154, 37, 146], 
     [ 39, 95, 13]], 

     [[114, 138, 100], 
     [175, 198, 148], 
     [ 39, 130, 37]]]) 

In [380]: a[a[:,:,2] <= 100,2] = 200 

In [381]: a 
Out[381]: 
array([[[ 78, 134, 200], 
     [154, 37, 146], 
     [ 39, 95, 200]], 

     [[114, 138, 200], 
     [175, 198, 148], 
     [ 39, 130, 200]]]) 

 Смежные вопросы

  • Нет связанных вопросов^_^