我们在使用抖音拍摄短视频的时候,经常会在美颜滤镜中用到哈哈镜、怀旧等效果,那么这两种效果是如何实现的呢?下面就来分别为大家介绍下原理。
一、哈哈镜效果
现实生活中的哈哈镜,是指一种表面凹凸不平的镜子,可以反映出人像及物件的扭曲面貌。而在美颜滤镜的图像处理过程中,哈哈镜效果是通过图像坐标变换来模拟真实的哈哈镜效果。具体算法过程如下:
输入图像f(x,y),宽高分别为width和height,设置图像中心坐标Center(cx,xy)为缩放中心点,图像上任意一点到中心点的相对坐标tx=x-cx,ty=y-cy。哈哈镜效果分为图像拉伸放大和图像缩小。
对于图像拉伸放大,设置图像变换的半径为radius,哈哈镜变换后的图像为p(x,y)。
x=(tx/2)*(sqrt(tx*tx+ty*ty)/radius)+cx
y=(ty/2)*(sqrt(tx*tx+ty*ty)/radius)+cy
对于图像缩小,设置图像变换的半径为radius,哈哈镜变换后的图像为p(x,y)。
x=cos(atan2(ty,tx))*12*(sqrt(tx*tx+ty*ty)+cx
y=sin(atan2(ty,tx))*12*(sqrt(tx*tx+ty*ty)+cy
然后将这些公式编排到哈哈镜的程序上,实现图形变换。
从以上的公式中可以看出,图像变形的原理其实很简单,就是求解变换后坐标(tx,ty)和变换前坐标的坐标方程。可以直接给xy赋值,也可以采取插值的方法得到输出图像,逻辑并不复杂。另外,需要注意的一点是,实际开发中可以更换radius的大小,甚至可以做一个进度条动态调节Radius的大小,以获得不同值下哈哈镜的效果。
二、怀旧效果
怀旧风格的设计主要是在图像的颜色空间进行处理,以GRB空间为例,以GRB空间位列,对R、G、B这3个通道的颜色数值进行处理,让图像有一种泛黄的老照片效果。设计的转换公式如下:
R=0.393xr+0.769xg+0.189xb
G=0.349xr+0.686xg+0.168xb
B=0.272xr+0.534xg+0.131xb
其中,r、g、b分别代表输入的原图某一点图像像素的RGB值,R、G、B
代表了该点变换后的RGB值,注意编后的RGB值要约束在0~255之间。将以上公式编排到相关程序中,通过变换r、g、b对图像的颜色空间做处理,起到怀旧泛黄的效果,而图像的细节纹理依旧保留。
以上,就是美颜滤镜中的哈哈镜、怀旧效果的实现原理,如果您对美颜sdk开发感兴趣,欢迎咨询官方客服。
声明:本文由美狐原创,未经允许禁止转载,谢谢合作。
- 下一代美颜SDK进化路线:个性化美白美型技术前瞻
- 美颜技术新标配:直播平台为何都在抢搭美颜SDK?
- 美颜技术新标配:直播平台为何都在抢搭美颜SDK?
- 直播平台必备美颜功能:人脸美型技术与滤镜贴纸系统集成详解
- 美颜SDK选型与集成实战:直播APP美颜功能搭建全流程
- 如何集成智能美妆与人脸美型功能?直播美颜SDK功能开发深度探索
- 直播平台必看:2025年美颜SDK智能化趋势与颜值经济新格局
- 2025年直播美颜SDK新趋势:智能美妆与人脸重塑如何重新定义颜值经济?
- 从技术到盈利:美颜SDK动态贴纸与美颜滤镜如何帮助直播平台打造爆款体验?
- 直播APP美颜SDK体验升级:滤镜、贴纸功能背后的技术驱动
- 美颜技术新标配:直播平台为何都在抢搭美颜SDK?
- 美颜SDK选型与集成实战:直播APP美颜功能搭建全流程
- 如何集成智能美妆与人脸美型功能?直播美颜SDK功能开发深度探索
- 直播平台必看:2025年美颜SDK智能化趋势与颜值经济新格局
- 2025年直播美颜SDK新趋势:智能美妆与人脸重塑如何重新定义颜值经济?
- 直播APP美颜SDK体验升级:滤镜、贴纸功能背后的技术驱动
- Diffusion Model + 美颜SDK:下一代人脸美型技术的潜力爆发点
- 主播们用了都说好的智能美妆功能,背后的美颜SDK有多强?
- 美颜SDK如何助力不同场景的人脸美型:短视频、直播、电商
- 增强现实(AR)时代的美颜SDK:滤镜API如何实现沉浸式美颜体验?