首页 > 解决方案 > 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()

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

感谢您的帮助

标签: pythoncamerakivy

解决方案


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

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


推荐阅读