人脸识别与美颜算法实战-图像特效

哈哈镜

输入图像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

# -*- coding: UTF-8 -*-
import cv2
import numpy as np
import math

def MaxFrame(frame):
    height, width, n = frame.shape
    center_X = width / 2
    center_Y = height / 2
    radius = 200
    real_radius =int(radius / 2.0)
    new_data = frame.copy()

    for i in range(width):
        for j in range(height):
            tX = i - center_X
            tY = j - center_Y

  

你可能感兴趣的:(算法,人工智能,计算机视觉)