这是之前做过的一个关于实现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

计算机视觉之混合图像(Hybrid)相关推荐

  1. 计算机视觉 Project 1:图像滤波和混合图像

    计算机视觉 Project 1:Image Filtering and Hybrid Images 计算机视觉 Project 1:Image Filtering and Hybrid Images ...

  2. 计算机视觉与图形图像会议、学派的一点八卦和资料

    computer vision(cv) 存在ICCV/CVPR/ECCV三个顶级会议, 它们档次差不多,都应该在一流会议行列, 没有必要给个高下. 有些us的人认为ICCV/CVPR略好于ECCV,而 ...

  3. 计算机视觉基础__图像特征

    计算机视觉基础__图像特征 本篇目录: 一.前言 二.位图和矢量图概念 三.图像的颜色特征 四.RGB 颜色空间 五.HSV 颜色空间 六.HLS 颜色空间 七.实例代码 八.参考资料 一.前言 传统 ...

  4. CV:计算机视觉基础之图像存储到计算机的原理daiding

    CV:计算机视觉基础之图像存储到计算机的原理daiding 目录 图像存储到计算机的原理 图像存储到计算机的原理 其实图像文件存储的都是每一个像素对应的颜色值. 比如一幅图像有16个像素,那么这个图像 ...

  5. CV:计算机视觉技术之图像基础知识(二)—图像内核的可视化解释

    CV:计算机视觉技术之图像基础知识(二)-图像内核的可视化解释 目录 图像内核的可视化解释 测试九种卷积核 官方Demo DIY图片测试 DIY实时视频测试 相关文章 CV:计算机视觉技术之图像基础知 ...

  6. CV:计算机视觉技术之图像基础知识(二)—以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础)

    CV:计算机视觉技术之图像基础知识(二)-以python的skimage和numpy库来了解计算机视觉图像基础(图像存储原理-模糊核-锐化核-边缘检测核,进阶卷积神经网络(CNN)的必备基础) 目录 ...

  7. CV:计算机视觉技术之图像基础知识—以python的cv2库来了解计算机视觉图像基础

    CV:计算机视觉技术之图像基础知识-以python的cv2库来了解计算机视觉图像基础 目录 一.图像中的傅里叶变换 1.时域和频域 2.傅里叶变换 3.图像中的傅里叶变换

  8. CV:计算机视觉技术之图像基础知识(一)—以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边)

    CV:计算机视觉技术之图像基础知识(一)-以python的cv2库来了解计算机视觉图像基础(傅里叶变换-频域-时域/各种滤波器-线性-非线性-均值-中值-高斯-双边) 目录 一.图像中的傅里叶变换 1 ...

  9. 从特斯拉到计算机视觉之「图像语义分割」

    说起特斯拉,大家可能立马会想到今年5月份发生在特斯拉Model S自动驾驶上的一宗夺命车祸.初步的调查表明,在强烈的日照条件下,驾驶员和自动驾驶系统都未能注意到牵引式挂车的白色车身,因此未能及时启动刹 ...

最新文章

  1. Cnnot find System Java Compiler Ensure that you have installed a JDK
  2. 十年磨一剑!SACC带你领略企业大数据平台实践优化!
  3. 《复盘+》把经验转化为能力
  4. 与Netflix合作 美电视运营商推出4K频道
  5. 一个美国老工程师的心理话: 给年轻工程师的十大忠告
  6. CS144 计算机网络实验 lab3 笔记
  7. WritePrivateProfileString等读写.ini配置文件
  8. 做为一个程序员,真的要经历学历之痛?互联网企业有多么看重学历!
  9. linux检查python安装情况,使用Python检测Linux服务器连接状态
  10. ubuntu开机时出现“waiting for network configuration” 问题的解决
  11. Linux组件封装(三)使用面向对象编程封装Thread
  12. UITableView 的横向滑动实现
  13. ORACLE 常用函数——日期/时间函数
  14. “添加删除WIndows组件”中没有IIS时安装IIS方法
  15. 内存管理学习之内存寻址
  16. C语言编程中 提取运行时间的函数,C语言中用于修改文件的存取时间的函数使用...
  17. 摩卡软件助大连港建设发展成为全方位、多功能、现代化的国际大港
  18. 软件测试 白盒测试用例设计方法动态 逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)基本路径测试法
  19. 通信原理及系统系列18—— 锁相环(鉴相器分析_1)
  20. 苹果鼠标右键怎么按_IOS13.4更新后的鼠标用途在哪?

热门文章

  1. 吉林大学高级程序设计(红皮书例题)(1~7章)
  2. linux中的批量删除和查找
  3. CRC32、murmur32、SDBM32碰撞实验数据对比
  4. 30行js爬取顶点全网任意小说
  5. ThinkPad T450s笔记本禁用触摸板
  6. 欧几里德算法(Euclidean algorithm)
  7. 空间分辨率和灰度分辨率
  8. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift全文翻译
  9. hapi.js_Hapi.js入门
  10. 《东周列国志》第八十一回 美人计吴宫宠西施 言语科子贡说列国