如何使用 opencv 映射相机图像来创建现场游乐场镜子?
我想使用 Opencv 和 Linux 创建一个有趣的镜子效果,使用实时网络摄像头创建矮矮、高瘦的效果。我女儿喜欢这些东西,我想用相机制作一个。我不太确定这些效果所需的变换。任何帮助将不胜感激。我有很多框架正在运行,实时视频播放等,只是没有转换。
谢谢
Using Opencv and Linux I would like to create a fun-house mirror effect, short and squat, tall and thin effect using a live webcamera. My daughter loves those things and I would like to create one using a camera. I am not quite sure about the transforms necessary for these effects. Any help would be appreciated. I have much of the framework running, live video playing and such, just not the transforms.
thanx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您需要使用“径向”变换和逆径向的“针垫”。
为了破坏变换的对称性,您可以在前后拉伸图像:
像素。
600x300 使用 cvResize()
正弦
我从未在 openCV 中使用过径向或正弦变换,所以我没有附加代码。但你可以使用 cvUn Distor2() 看看是否可以。
创建带有范围为 0..100 的轨迹栏的窗口。每个轨迹条控制失真参数:
I think that you need to use 'radial' transforms and 'pin cushion' which is inverse radial.
In order to braker the symmetry of the transforms you can strech the image before and after:
pixels.
600x300 using cvResize()
sinusoidal
I never used radial or sinusoidal transforms in openCV so I dont have a piece of code to attach. But you can use cvUndistort2() and see if it is OK.
Create window with trackbars with range 0..100. Each trackbar controls parameter of distortion: