我一直在使用PIL对图像对象进行透明粘贴。
from PIL import Image
img1 = Image.open("bg")
img2 = Image.open("fg")
img1.paste(fg, (0,0), fg.convert("RGBA"))
img1.save("final.png", "PNG")
这个脚本适用于2d图像,我只希望有人能给我指明正确的方向。我想在三维中创建角色,所以我想要一个解决方案。提前感谢。:(
如果你有一个人的3d模型和另一顶帽子的3d模型,你可以在同一个3d引擎中加载这两个模型,调整变换(例如,定位、旋转和缩放帽子,使其看起来正好在人身上(,并将统一场景渲染为单个图像。
大多数3D引擎都支持这一点,这取决于你对什么感到舒适。
虽然理论上你可以使用从源代码构建的OpenCV,其中包含一些贡献的模块,如viz(它在幕后使用VTK并包括样本(,或者更好的是,使用Ogre3D的ovis包,在实践中,中间有很多层,我会直接选择引擎,而不是集成的OpenCV。
例如,使用Ogre3D,您可以直接找到python绑定,还有pyglet和许多其他3D库。
不过,我强烈建议您尝试Open3D。它有丰富的3D计算机视觉工具,但特别是对于您的场景,它的3D渲染器非常好用。要加载三维模型,请查看Mesh文件io教程,并查看可视化进行渲染。请注意,Open3D附带了大量Python示例,甚至还有Jupyter笔记本(例如文件io、可视化(。