kivy相机实时应用滤镜

时间:2018-06-05 10:55:21

标签: python camera kivy

使用kivy相机api可以拍摄相机照片或视频并实时应用过滤器吗?例如修改所有像素的反色?或修改所有像素以应用黑白滤镜?

实际上,我可以实时创建窗口和查看摄像机图像:

from kivy.app import App
from kivy.lang import Builder


kv = ''' 
BoxLayout:
    orientation: 'vertical'

    Camera:
        id: camera
        resolution: 399, 299

    BoxLayout:
        orientation: 'horizontal'
        size_hint_y: None
        height: '48dp'
        Button:
            text: 'Start'
            on_release: camera.play = True

        Button:
            text: 'Stop'
            on_release: camera.play = False
'''


class CameraApp(App):
    def build(self):
        return Builder.load_string(kv)


if __name__ == '__main__':
    CameraApp().run()

但它可以拦截信号并应用自定义效果吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

如果您熟悉这些概念,则可以使用相机的Texture。检索它也非常简单,只需在需要的地方调用camera.texture

我更喜欢自己使用OpenCV并稍后显示结果。您可以使用前面提到的Texture找到许多关于如何在kivy中嵌入其格式的示例,例如here