Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hybrid Image Generator

项目概述

本项目实现了一种混合图像(Hybrid Image)生成算法。混合图像是一种特殊的图像处理技术,通过将一张图像的低频成分(模糊图像)与另一张图像的高频成分(细节图像)相结合,创造出一种视觉效果:在近距离观看时看到一张图像,而在远距离或缩小观看时看到另一张图像。

实现效果

本程序通过高斯滤波器将第一张图像(兔子)转换为低频图像,将第二张图像(猫)转换为高频图像,然后将两者相加生成混合图像。生成的混合图像具有以下特性:

  • 近距离观看:主要看到猫的细节(高频部分)
  • 远距离观看或缩小观看:主要看到兔子的轮廓(低频部分)
  • 多尺度展示:程序还会生成不同尺度的下采样图像,展示不同观看距离下的视觉效果

使用方法

环境要求

  • Python 3.x
  • OpenCV (cv2)
  • NumPy
  • Matplotlib

安装依赖

pip install opencv-python numpy matplotlib

运行程序

git clone https://github.com/ljk4/hybridImage.git
cd hybridImage
python main.py

输入图像

程序默认使用以下图像:

  • rabbit.png - 作为低频图像源(兔子)
  • cat.png - 作为高频图像源(猫)

参数调整

main.py 中可以调整以下参数:

  • cutoff_frequency:截止频率(默认值为5),控制高斯模糊的程度
  • k_size:高斯核大小,根据截止频率自动计算

图片展示

输入图像

低频图像(兔子) 高频图像(猫)
Rabbit Cat

生成结果

程序将显示一个2×3的图像网格,包含以下内容:

  1. Low Image - 兔子的原始图像
  2. High Image - 猫的原始图像
  3. Hybrid - 生成的混合图像
  4. Down1 - 一级下采样的混合图像
  5. Down2 - 二级下采样的混合图像
  6. Down3 - 三级下采样的混合图像

示例输出

示例输出

注:上图为生成的混合图像,保存为 Figure_1.png

视觉效果说明

  1. 原始尺寸观看:在正常距离观看混合图像时,会主要看到猫的细节
  2. 缩小观看:将图像缩小(或远离屏幕)时,兔子的轮廓会逐渐显现
  3. 下采样图像:程序生成的下采样图像模拟了从不同距离观看的效果:
    • Down1:稍微缩小,开始看到兔子的轮廓
    • Down2:进一步缩小,兔子的形状更明显
    • Down3:大幅缩小,几乎只看到兔子的轮廓
    • Down4:只看到兔子的轮廓

文件结构

hybridImage/
├── README.md           # 项目说明文档
├── main.py            # 主程序文件
├── rabbit.png         # 低频图像源(兔子)
├── cat.png           # 高频图像源(猫)
└── hybrid_image.png   # 生成的混合图像

About

混合图像py示例

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages