项目介绍
img2pic 是一套专门处理 AI 生成的"像素风格"图像的工具,能够将伪像素风格转换为真正的像素艺术。
什么是 AI 像素风格?
AI 生成的"像素风格"图像通常看起来像像素艺术,但实际上并不是真正的像素网格:
- 伪像素效果:AI 通过模拟像素艺术的视觉风格生成图像
- 非规则网格:像素块大小不统一,位置不准确
- 模糊边缘:像素之间存在过渡和抗锯齿
- 无法直接编辑:无法直接用于游戏开发或其他需要真实像素的场景
img2pic 的解决方案
img2pic 通过多种算法检测图像中的像素网格,并将其转换为真正的像素艺术:
核心功能
- 网格检测:自动识别图像中的像素网格结构
- 颜色采样:从网格中提取代表性颜色
- 颜色量化:减少颜色数量,增强像素艺术风格
- 输出控制:支持多种输出分辨率和放大倍数
技术特点
- 自适应检测:自动检测像素尺寸,无需手动指定
- 高精度识别:使用滑动窗口和峰值检测算法
- 方向性增强:针对不同方向的边缘优化
- 多种采样模式:中心点、平均、加权等采样方式
- 智能颜色量化:支持自动颜色数和强制颜色数
工具概览
energ - 能量图网格检测
功能:基于梯度能量图和滑动窗口峰值检测的高级网格识别系统
特点:
- 自动检测像素尺寸(自相关算法)
- 滑动窗口机制检测局部能量尖峰
- 网格线插值补全
- 方向性能量增强
- 多种采样模式(中心点/平均/加权)
- 智能颜色量化
适用场景:
- 复杂的 AI 生成像素风格图像
- 需要高精度网格检测
- 图像中存在局部能量尖峰
- 需要自适应参数调整
edge_detect_pixelize.py - 边缘检测像素化
功能:基于 Sobel 边缘检测的简化网格识别
特点:
- 简单快速的边缘检测
- 基于投影的网格线检测
- 颜色量化
- 调试模式可视化
适用场景:
- 简单的像素风格图像
- 需要快速处理
- 边缘清晰的图像
- 需要调试和可视化
grid_sampling_pixelize.py - 网格采样像素化
功能:基于峰值检测的网格识别和采样
特点:
- 多尺度边缘增强
- 峰值检测网格识别
- 规律网格生成
- 相似颜色合并
适用场景:
- 需要多尺度边缘检测
- 需要峰值检测
- 需要颜色合并功能
使用场景
游戏开发
将 AI 生成的像素风格图像转换为真正的像素艺术,用于游戏开发:
bash
# 生成 64x64 的像素图
python energ --in ai_generated.png --sample --upscale 1像素艺术创作
从 AI 生成的图像中提取像素风格,进行二次创作:
bash
# 高质量像素艺术输出
python energ --in ai_generated.png --sample --quantize --colors 32 --upscale 4图像预处理
将伪像素图像转换为真实像素网格,便于后续处理:
bash
# 输出原生分辨率
python edge_detect_pixelize.py --in pseudo_pixel.png --upscale 1网页版
除了命令行工具,我们还提供了网页版:
网页版特点:
- 无需安装,直接使用
- 实时预览处理效果
- 参数可视化调整
- 支持批量处理
技术原理
能量图算法
- 梯度能量计算:计算图像的水平和垂直梯度
- 能量图生成:
E = |∇x| + |∇y| - 滑动窗口检测:在窗口内检测局部能量尖峰
- 网格线插值:补全缺失的网格线
- 网格采样:从检测到的网格中采样颜色
边缘检测算法
- Sobel 边缘检测:检测水平和垂直边缘
- 投影分析:将边缘投影到一维空间
- 峰值检测:找到规律的能量峰值
- 网格生成:根据峰值位置生成网格
项目信息
| 属性 | 值 |
|---|---|
| 版本 | 0.1.0 |
| 许可证 | MPL-2.0 |
| 开发语言 | Python 3.14+ |
| 最低 Python 版本 | 3.14.2 |
依赖
- numpy - 数值计算
- pillow - 图像 I/O
- opencv-python - 图像处理
- scipy - 信号处理