我想做一个应用程序,接受视频输入(例如使用您的网络摄像头),并根据其内容动态呈现一些有趣的东西。例如,我将在视频中检测用户的脸,并更改他/她的嘴唇的颜色。也许我可以让用户使用一些带有几个控制器旋钮的闭合曲线来指定他/她的嘴唇的轮廓,并跟踪它在实时视频流中的变化,然后在上面渲染一些颜色。这有多难?理想情况下,它会演变成更大的东西,允许你做更多依赖于内容的特效,就像电影中看到的那样,但现在我只想做一个玩具应用程序,修改实时视频流中的人脸。我相信这种工具在专业视频软件中已经开发得很好了,但我想要一些有趣的东西,可以在一台普通的电脑上运行,甚至可能是一部带摄像头的手机(iphone,android等)。
虽然我是一名程序员,但我没有任何处理视频的经验,我正在阅读一些关于OpenCV库的东西,看起来这是一个很好的开始。但我不确定这是否可行。还有没有其他可能对这项任务有帮助的东西?
非常感谢。
发布于 2010-09-24 23:44:55
95%的艰苦工作已经完成。剩下的5%由你决定。
http://opencv.willowgarage.com/wiki/FaceDetection
网上有很多使用OpenCV的人脸识别示例。
在您的CPU上处理视频可能是相当苛刻的。请记住,您的算法必须以每秒25~30帧的速度执行,才能获得“实时”效果。
发布于 2010-09-25 03:31:23
OpenCV确实是最好的起点。我会查看sample文件夹中的lkdemo.c文件,了解如何在实时视频上绘制内容。它不到200行c代码,它将向你展示如何读取网络摄像头或视频文件,接受键盘和鼠标输入,跟踪视频中的特征点,并在其上动态绘制简单的形状。
如果你从那里开始,你可能会在不到一个小时的时间里开始试验你自己的想法,这取决于你之前的知识。
https://stackoverflow.com/questions/3783781
复制相似问题