首页 软件教程 抖音的哈哈镜功能怎么关闭(抖音哈哈镜在哪个软件特效里)

抖音的哈哈镜功能怎么关闭(抖音哈哈镜在哪个软件特效里)

更新时间:2022-04-28 04:32:47来源:鼎品软件浏览量:
前言

在抖音中,我们经常看到各种抖音玩家都喜欢使用哈哈镜效果。那么什么是哈哈镜呢?

在现实生活中,哈哈镜是指一种表面凹凸不平的镜子,可以反映出人像及物体的扭曲面貌。简单点来说就是拉伸人脸(物件),或者压缩人脸(物体)的效果。

哈哈镜的实现原理如下:

假设输入图像的宽高为w和h,图像中心点的坐标为(cx。cy)。那么图像中任意一点(x,y)到中心点的距离为(x-cx),(y-cy)。

那么拉升放大,图像变换的半径为r(r是哈哈镜的范围大小)。得到公式如下:

x=(tx/2)*(sqrt(tx*tx+ty*ty)/r)+cx

y=(ty/2)*(sqrt(tx*tx+ty*ty)/r)+cy

同理,压缩缩小的公式如下(compress为压缩强度):

x=cos(atan2(ty,tx))*compress*sqrt(sqrt(tx*tx+ty*ty))+cx y=cos(atan2(ty,tx))*compress*sqrt(sqrt(tx*tx+ty*ty))+cy

哈哈镜放大效果

既然我们了解了其数学公式以及其实现的原理,下面我们来直接实现哈哈镜的放大效果。具体代码如下所示:

运行之后,效果如下:

抖音的哈哈镜功能怎么关闭(抖音哈哈镜在哪个软件特效里)直接视频实现哈哈镜效果

抖音上面的哈哈镜都是动态的,并不是单一的图片这么变来变去。其实,只要我们集合前面的摄像头视频录制功能,就可以完成视频哈哈镜的动态效果。具体代码如下:

if __name__ == "__main__":    cap = cv2.VideoCapture(0)    while (cap.isOpened()):        ret, frame = cap.read()        frame=enlarge_effect(frame)        cv2.imshow('video', frame)        c = cv2.waitKey(1)        if c == 27:            break    cap.release()    cv2.destroyAllWindows()

以上便是小编为大家带来的抖音的哈哈镜功能怎么关闭,希望对大家有所帮助,更多内容请继续关注鼎品软件。

游戏排行

火爆游戏