2015-02-21 2 views
0

Я использую cv2 для Python. Я довольно близок к созданию перехода «смешение замирания» между двумя изображениями, но я не получаю ожидаемых результатов.cv2 Python image blending Переход «Fade»

Что я хочу сделать, так как моя переменная fadein подсчитывает, я передаю ее функции cv2.addWeighted, чтобы создать смесь, которая изменяется при изменении переменной fadein.

так, подытожил ... эффект перекрестного эффекта кинотеатра. Происходит подсчет переменных fadein, и когда он достигает своего максимального диапазона, изображение переходит к следующему.

[EDIT] Моя проблема в том, что объекты cv не работают одновременно с моей динамической переменной fadein.

def fadeIn (img1, img2): #pass images here to fade between 
     while True: 
       for FADEIN in range(0,10): 
         fadein = FADEIN/10.0 
         fadeout=1.0 
         fadeout -= 0.1 
         dst = cv2.addWeighted(img1, fadeout, img2, fadein, -1)#linear $ 
         cv2.imshow('window', dst) 
         print fadein 
         time.sleep(0.05); 
         if fadein == 1.0: #blendmode mover 
           fadein = 1.0 
       return # exit function 

while True: 
    if Position == 55: 
    fadeIn(dog, panda) 

ответ

0

Ах, я пропускал cv2.waitKey(1)

Мои пересмотрела 'смешивание' переход между функцией изображения:

def fadeIn (img1, img2): #pass images here to fade between 
     #while True: 
     for IN in range(0,10): 
       fadein = IN/10.0 
       dst = cv2.addWeighted(img1, fadein, img2, fadein, 0)#linear $ 
       cv2.imshow('window', dst) 
       cv2.waitKey(1) 
       print fadein 
       time.sleep(0.05) 
       if fadein == 1.0: #blendmode mover 
         fadein = 1.0 
     return # exit function 
0

Ваш код также отсутствует обратный (1-FadeIn) для поперечного замирания , Я также добавил динамическую длину.

def fadeIn (img1, img2, len=10): #pass images here to fade between 
    while True: 
     for IN in range(0,len): 
      fadein = IN/float(len) 
      dst = cv2.addWeighted(img1, 1-fadein, img2, fadein, 0) 
      cv2.imshow('window', dst) 
      cv2.waitKey(1) 
      print fadein