AE教程丨毛玻璃动态效果

2021年Windows11发布,不少人更新了Win11,除了尝鲜,Win11也更新了其动效,系统体验变得更加流畅。毛玻璃效果从Windows7到现在的Windows11一直延续了下来,可以看到毛玻璃效果还是比较流行的。今天我们就来讲讲动态毛玻璃特效怎么做。

动态毛玻璃特效AE教程

1.制作透明窗口素材、窗口背景颜色以及壁纸,将其导入到AE,并给透明窗口素材的【缩放】属性K帧,做一个缩放动画;

2.窗口背景颜色层【不透明度】拉到【100%】,打开【调整图层开关】,添加【快速模糊】效果,调整【模糊半径】参数,增加其模糊效果;

3.给窗口背景颜色图层添加【色相饱和度】效果,通过调整使其颜色变亮或变暗;

4.壁纸

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毛玻璃效果可以通过高斯模糊和随机化像素位置的方式实现,以下是使用Autoencoder实现毛玻璃效果的步骤: 1. 准备数据集:准备一些模糊的图像作为训练数据集。 2. 定义模型:使用Autoencoder模型,将输入图像压缩成一个低维的编码,再将编码解压缩成输出图像。 3. 训练模型:使用训练数据集训练Autoencoder模型。 4. 生成毛玻璃效果:将输入图像分成若干个小块,对每个小块进行高斯模糊和随机化像素位置的操作,然后输入到训练好的Autoencoder模型中进行重建,最后将所有小块拼接起来得到毛玻璃效果的图像。 以下是使用Python和Tensorflow实现毛玻璃效果的代码: ```python import tensorflow as tf import numpy as np import cv2 # 定义Autoencoder模型 class Autoencoder(tf.keras.Model): def __init__(self): super(Autoencoder, self).__init__() self.encoder = tf.keras.Sequential([ tf.keras.layers.Input(shape=(128, 128, 3)), tf.keras.layers.Conv2D(16, (3,3), activation='relu', padding='same', strides=2), tf.keras.layers.Conv2D(32, (3,3), activation='relu', padding='same', strides=2), tf.keras.layers.Conv2D(64, (3,3), activation='relu', padding='same', strides=2), tf.keras.layers.Flatten(), tf.keras.layers.Dense(256, activation='relu'), tf.keras.layers.Dense(128, activation='relu'), ]) self.decoder = tf.keras.Sequential([ tf.keras.layers.Dense(256, activation='relu'), tf.keras.layers.Dense(4*4*64, activation='relu'), tf.keras.layers.Reshape((4, 4, 64)), tf.keras.layers.Conv2DTranspose(32, (3,3), activation='relu', padding='same', strides=2), tf.keras.layers.Conv2DTranspose(16, (3,3), activation='relu', padding='same', strides=2), tf.keras.layers.Conv2DTranspose(3, (3,3), activation='sigmoid', padding='same', strides=2), ]) def call(self, x): encoded = self.encoder(x) decoded = self.decoder(encoded) return decoded # 加载数据集 def load_dataset(): dataset = [] for i in range(1, 1001): img = cv2.imread(f'data/{i}.jpg') img = cv2.resize(img, (128, 128)) dataset.append(img) return np.array(dataset) # 高斯模糊和随机化像素位置 def blur_and_shuffle(img): img = cv2.GaussianBlur(img, (11,11), 0) h, w, c = img.shape mask = np.zeros((h, w), dtype=np.uint8) for i in range(h): for j in range(w): mask[i,j] = np.random.randint(0, 255) img = cv2.bitwise_xor(img, mask) return img # 生成毛玻璃效果 def generate_mosaic(img, model): h, w, c = img.shape mosaic_size = 32 mosaic_step = mosaic_size // 2 new_img = np.zeros((h, w, c), dtype=np.uint8) for i in range(0, h-mosaic_size+1, mosaic_step): for j in range(0, w-mosaic_size+1, mosaic_step): patch = img[i:i+mosaic_size, j:j+mosaic_size] patch = blur_and_shuffle(patch) patch = np.expand_dims(patch, axis=0) patch = patch.astype(np.float32) / 255.0 patch = model(patch) patch = patch.numpy()[0] * 255.0 patch = patch.astype(np.uint8) new_img[i:i+mosaic_size, j:j+mosaic_size] = patch return new_img # 加载数据集 dataset = load_dataset() # 创建模型 model = Autoencoder() # 训练模型 model.compile(optimizer='adam', loss='mse') model.fit(dataset, dataset, epochs=100) # 生成毛玻璃效果 img = cv2.imread('test.jpg') img = cv2.resize(img, (512, 512)) mosaic_img = generate_mosaic(img, model) cv2.imwrite('mosaic.jpg', mosaic_img) ``` 在上面的代码中,我们使用了一个包含三个卷积层和两个全连接层的Autoencoder模型来进行训练和重建。在生成毛玻璃效果时,我们将输入图像分成若干个大小为32x32的小块,对每个小块进行高斯模糊和随机化像素位置的操作,然后输入到训练好的Autoencoder模型中进行重建,最后将所有小块拼接起来得到毛玻璃效果的图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值