cv2 Python 图像混合 影像“淡入”过渡

2024-09-28 01:28:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为Python使用cv2。我很接近于在两个图像之间创建一个“混合淡出”过渡,但我没有得到我希望的结果。在

我想做的是,当我的fadein变量计数时,我将它传递给cv2.addWeighted函数,以创建一个随着fadein变量变化而变化的混合。在

所以,总结一下…一个电影院的交叉淡出效果。发生的是fadein变量计数,当它达到最大范围时,图像跳到下一个。在

[编辑] 我的问题是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)

Tags: 函数图像trueifcv2dst计数img1
2条回答

啊,我失踪了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

您的代码还缺少交叉淡入的反转(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

相关问题 更多 >

    热门问题