kivy相机实时应用滤镜

Posted

技术标签:

【中文标题】kivy相机实时应用滤镜【英文标题】:kivy camera apply filter in real time 【发布时间】:2018-11-14 20:06:18 【问题描述】:

可以使用 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】:

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

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

【讨论】:

非常感谢,这正是我要找的

以上是关于kivy相机实时应用滤镜的主要内容,如果未能解决你的问题,请参考以下文章

带有分离的 kivy 文件的 Kivy 相机

Kivy 相机代码无法在 android 设备上运行

如何使用 kivy 为移动应用程序制作相机小部件

如何显示视频捕捉滤镜对话框(相机设置,如亮度,曝光)?

在 iOS 9 中使用相机滤镜对图像进行调平

Kivy Plyer 相机