我正在尝试学习Shaders在我的iPhone应用程序中实现一些东西.到目前为止,我已经理解了简单的例子,例如将彩色图像制作成灰度,阈值等.大多数示例涉及简单的操作,其中处理输入图像像素I(x,y)导致对同一像素的颜色的简单修改
但是,Convolutions怎么样?例如,最简单的例子是高斯滤波器,
其中输出图像像素O(x,y)不仅取决于I(x,y)周围的8个像素,还取决于周围的8个像素
O(x,y) = (I(x,y)+ surrounding 8 pixels values)/9;
Run Code Online (Sandbox Code Playgroud)
通常,使用单个图像缓冲区无法完成此操作,或者输入像素将随执行滤镜而更改.如何使用着色器执行此操作?另外,我应该自己处理边框吗?或者有一个内置函数或检查无效像素访问的东西,如 I(-1,-1)?
提前致谢
PS:我会很慷慨(阅读:给出很多观点);)
我正在寻找创建鱼眼镜头效果的方法,查看openCV的文档,看起来它包含像鱼眼这样的径向扭曲的相机校准功能.是否可以通过openCV模拟鱼眼失真?
如果有可能通过openCV来做,与openGL相比,哪一个会产生更好的结果?谢谢.
有没有办法在iPhone应用程序PhotoTwist中使用OpenGL ES在UIImage上创建像凹痕,捏,扭曲,挤压等效果?
这样做是否有任何参考或指导?我不想要代码,只是如何做到这一点的参考.
我有一些想要"置于泡沫中"的图像.气泡在屏幕上浮动,这些图像被困在屏幕内.
最好的方法是将内部图像与气泡图像结合起来,并以某种方式使内部图像变形,使其看起来像是在气泡内部反射.
有没有人知道如何在不使用纹理和网格的情况下实现此效果?也许有人记得一个旧项目或做过类似事情的事情?
这是我的意思的一个例子:
