计算机视觉之混合图像(Hybrid)

这是之前做过的一个关于实现Hybrid Image的小项目,有错误及不足的地方还请批评指正~

怎么理解图像的高低频?

图像的低频部分可以理解为“轮廓”,比如人脸的脸型。

图像的高频部分可以理解为“细节”,比如人脸的皱纹、斑点等。

因此,我们常说,对图像做模糊处理后得到了图像的低频部分,对图像做锐化处理会让图像的高频信息更多。(看到这里,玩过摄影的朋友是不是想到了人像处理中常用的“高低频磨皮”~)

为什么放大缩小图片会看到不同的结果?

在了解了图像高低频的定义后,我们就不难理解为什么远近看混合图像会感觉效果不同。

当我们放大混合图像时,可以清楚地看到高频信息,于是人眼更倾向于识别这部分的信息。相反地,当我们缩小图片时,高频信息就不那么容易被观察到了,这时候我们我们就更倾向于识别低频的部分。

这里我做了一张哈利波特和伏地魔的混叠图像。可以看到,当图像放大时我们看到的是哈利波特,而当图片缩小时,我们会认为这张图片是描述伏地魔的。
在这里插入图片描述

如何实现混合图像的效果?

实现的总体思路很简单——将只有低频信息的图片和只有高频信息的图像叠加在一起。具体步骤如下:

  1. 取第一张图片:
    a. 准备好低频的滤波器(常用高斯模糊)
    b. 将图像转为矩阵,分层(如JPG图像会分成RGB三层)处理。其中,第一二列表示图像的横纵坐标,第三列存储不同的层的index(如JPG有0-2,PNG有0-3(其中第四层(3)存的是透明度));举个栗子,[;, ;, 0] 指的是R层的数据点
    c. 每一个维度的图片分别与高斯滤波器做卷积
  2. 取第二张图片:
    a. 准备好低频的滤波器(常用高斯模糊)
    b. 将图像转为矩阵
    c. 每一个维度的图片分别与高斯滤波器做卷积
    d. 用原图矩阵减去卷机后的矩阵,得到高频图矩阵
  3. 将两个处理后的图像矩阵相加,得到混合图像

如何用代码实现?

https://github.com/MinisculeDust/Hybrid-Image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值