python重新着色图像

2024-04-18 15:40:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我想实现一个图像重新着色算法,以产生类似于下面所示的结果:

http://www.morethantechnical.com/2010/06/24/image-recoloring-using-gaussian-mixture-model-and-expectation-maximization-opencv-wcode/

但是使用Python。不过,我不知道从哪里开始。我一直在使用OpenCV,但是本文中提到的函数(期望最大化和GMM)似乎在pythonapi中不可用。我应该使用哪些工具/库,能为我指明正确的方向吗?在


Tags: and图像imagecom算法httpmodelwww
2条回答

你要找的关键词是“颜色转移”。我发现这个链接非常有用http://www.pyimagesearch.com/2014/06/30/super-fast-color-transfer-images/

对于Python,安装如下颜色传递库

^{1}$

使用:

^{pr2}$

源映像和目标映像都应为Numpy array类型。在

第一个选项就是用Python实现这段代码。看起来本文中提到的所有函数在PythonAPI中都是可用的。CvEM只是EM(在模块cv2中):

^{1}$

没有CvEMParams,因为EM已经处理了它。如果您正在寻找任何其他函数/对象,请在Python控制台中键入dir(cv2),您很可能会找到您要查找的内容。pythonapi中的东西通常有稍微不同的名称,但找到它们并不是一个大问题。请注意,cv2.cv模块中也可能有一些内容。在

第二个选项是使用这个C++代码并从Python调用它。为Python编写扩展不是很容易的,但是如果使用Boost.Python就不难了。编写扩展模块对于Boost.Python所以有一些很好的教程很好地描述了这一点。好的开始可能是this one。写入cv::Mat的转换器(<;->;数字阵列可能是个问题,但这里很简单solution。在

相关问题 更多 >