QML如何将效果渲染到图像

时间:2018-12-14 20:16:10

标签: qt image-processing camera qml qt5

QML中是否有一种方法可以将效果(例如Fastblur)的输出渲染到外部图像?我想将其与视频输出结合使用,以实现诸如实时snapchat过滤器之类的功能。

在我的应用程序中,相机提供了视频输出,该视频输出提供了效果输出,但是似乎没有用于将效果渲染到图像的API。在应用效果之前,imageCapture相机组件仅从相机直接捕获帧。效果组件中没有方法可以将其渲染为外部图像。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

每个QML可视项都有一个grabToImage()方法,它也适用于books = Book.objects.prefetch_related('chapter_set') for book in books: print(book.chapter_set.first())

这不是很有效,但是在大多数情况下就足够了。请注意,它将保存单个图像,但不适用于视频,尽管Qt本身可以在内部对视频进行编码,但是在作为公共API的单个帧的视频编码方面,它并没有真正提供任何功能,因此,如果要将效果输出另存为视频,您将不得不更深入地研究场景图,以实现更有效的帧捕获方法,并利用一些第三方库将帧编码为视频。