快速阅读
- libcom 是上海交通大学开发的开源图像合成工具箱,旨在解决前景和背景不一致性问题,生成逼真合成图像。
- 它包含图像融合、和谐化、阴影生成等多种功能,基于传统图像处理和深度学习技术实现。
- 支持通过
pip install libcom
命令安装,用户只需简单地导入命令import libcom
,就能轻松调用库方法进行复杂的图像合成操作。
正文
libcom 是由上海交通大学 (BCMI) 实验室开发的一个图像合成工具箱。它的主要功能是解决前景和背景之间的不一致问题,比如外观、几何和语义上的不匹配,从而生成逼真的合成图像。
这个工具箱包含多种图像合成相关的操作,主要的功能包括:
- 图像融合:在生成合成图像时,通过图像融合技术平滑前景与背景之间的过渡,减少可见的接缝和不自然的边界。
- 图像和谐化:调整前景的光照和颜色,使其与背景的光照和颜色匹配,提高合成图像的真实感。
- 阴影生成:为前景对象添加合适的阴影,增强前景与背景之间的相互作用和立体感。
- 对象放置:确定前景对象在背景中的合理位置和大小,考虑遮挡、深度和场景的语义一致性。
- 生成式合成:基于生成模型直接从前景和背景图像生成逼真的合成图像,考虑前景的几何和语义信息。
libcom 提供了一系列高效的算法实现,并且这些算法会随着版本迭代持续更新。用户只需简单导入命令 import libcom
,就能轻松进行复杂的图像合成操作。
安装命令(超级简单!)
bash
pip install libcom
图像融合示例
在这里我编写了一个简单的图像融合示例。它接收两张图片(一张前景图和一张背景图),然后使用不同的方法将前景图贴到背景图上,生成新的合成图片。最后,程序把这些合成图片和原图一起展示并保存,方便你看到不同合成效果的区别。
简而言之,它帮你快速看看怎么把一张图片贴到另一张图片上,并展示融合后的效果。
python
from common import *
from libcom import get_composite_image
import os
import cv2
def main(fg_img_path, bg_img_path, result_dir='results'):
# 确保结果目录存在
os.makedirs(result_dir, exist_ok=True)
# 假设foreground_mask和bbox是固定的或简单生成的
fg_mask = 'path_to_foreground_mask.png' # 替换为实际的mask路径
bbox = [0, 0, 100, 100] # 假设的bbox,格式为[x_min, y_min, width, height]
img_list = [bg_img_path, fg_img_path]
for option in ['none', 'gaussian', 'poisson']:
comp_img, comp_mask = get_composite_image(fg_img_path, fg_mask, bg_img_path, bbox, option)
img_list.append(comp_img)
img_list.append(comp_mask)
# 可视化结果
img_name = os.path.basename(fg_img_path).replace('.png', '.jpg')
grid_img = make_image_grid(img_list, cols=4)
res_path = os.path.join(result_dir, img_name)
cv2.imwrite(res_path, grid_img)
print('save result to ', res_path)
if __name__ == '__main__':
fg_img_path = 'path_to_foreground_image.png' # 替换为实际的前景图像路径
bg_img_path = 'path_to_background_image.jpg' # 替换为实际的背景图像路径
main(fg_img_path, bg_img_path)
解释:
main
函数 :直接接受前景图像和背景图像的路径,以及结果目录(默认为results
)。- 固定参数 :假设
fg_mask
和bbox
是已知的或可以简单生成的,以便于演示。 - 结果保存:结果图像保存在指定的结果目录中。
使用方法:
- 将
fg_img_path
和bg_img_path
替换为实际的前景和背景图像路径。 - 运行脚本,结果将保存在
results
目录中。
libcom 库方法分类与简介
除了图像融合方法以外,libcom 库还提供了许多充满创意的图像处理方法。
主要功能
- get_composite_image:一键生成合成图像,采用简单复制粘贴加图像融合技术。
- OPAScoreModel:智能评估合成图像中前景物体放置的合理性。
- FOPAHeatMapModel:预测背景前景组合的所有位置/尺度的合理性评分,输出最佳位置/尺度的合成图像。
色彩与风格调和
- color_transfer:传统色彩转移法,让前景颜色完美匹配背景。
- ImageHarmonizationModel:调整前景光照,与背景和谐统一。
- PainterlyHarmonizationModel:艺术背景与真实前景风格无缝融合。
评估与定位
- HarmonyScoreModel:评估合成图像前景与背景的和谐度。
- InharmoniousLocalizationModel:精准定位合成图像中的不和谐区域。
- FOSScoreModel:从几何和语义角度评估前景与背景的兼容性。
高级生成模型
- ControlComModel:统一图像融合、和谐化、视角合成和生成式合成的扩散模型。
- ObjectStitchModel:生成背景前景组合的合成图像,非物体像素自动填充为黑色。
- ShadowGenerationModel:为插入物体生成逼真阴影,提升图像真实感。
资源
Docs 官方文档 (libcom.readthedocs.io/en/latest/o...)
Pip 项目地址 (pypi.org/project/lib...)
GitHub 仓库 (github.com/bcmi/libcom)
Demo 在线体验 (bcmi.sjtu.edu.cn/home/niuli/...)
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
微信订阅号|搜一搜:蚝油菜花