2024-04-18 15:40:20 发布
网友
我想实现一个图像重新着色算法,以产生类似于下面所示的结果:
http://www.morethantechnical.com/2010/06/24/image-recoloring-using-gaussian-mixture-model-and-expectation-maximization-opencv-wcode/
但是使用Python。不过,我不知道从哪里开始。我一直在使用OpenCV,但是本文中提到的函数(期望最大化和GMM)似乎在pythonapi中不可用。我应该使用哪些工具/库,能为我指明正确的方向吗?在
你要找的关键词是“颜色转移”。我发现这个链接非常有用http://www.pyimagesearch.com/2014/06/30/super-fast-color-transfer-images/
对于Python,安装如下颜色传递库
使用:
源映像和目标映像都应为Numpy array类型。在
第一个选项就是用Python实现这段代码。看起来本文中提到的所有函数在PythonAPI中都是可用的。CvEM只是EM(在模块cv2中):
CvEM
EM
没有CvEMParams,因为EM已经处理了它。如果您正在寻找任何其他函数/对象,请在Python控制台中键入dir(cv2),您很可能会找到您要查找的内容。pythonapi中的东西通常有稍微不同的名称,但找到它们并不是一个大问题。请注意,cv2.cv模块中也可能有一些内容。在
CvEMParams
dir(cv2)
cv2.cv
你要找的关键词是“颜色转移”。我发现这个链接非常有用http://www.pyimagesearch.com/2014/06/30/super-fast-color-transfer-images/
对于Python,安装如下颜色传递库
^{1}$使用:
^{pr2}$源映像和目标映像都应为Numpy array类型。在
第一个选项就是用Python实现这段代码。看起来本文中提到的所有函数在PythonAPI中都是可用的。
^{1}$CvEM
只是EM
(在模块cv2中):没有
第二个选项是使用这个C++代码并从Python调用它。为Python编写扩展不是很容易的,但是如果使用Boost.Python就不难了。编写扩展模块对于Boost.Python所以有一些很好的教程很好地描述了这一点。好的开始可能是this one。写入cv::Mat的转换器(<;->;数字阵列可能是个问题,但这里很简单solution。在CvEMParams
,因为EM
已经处理了它。如果您正在寻找任何其他函数/对象,请在Python控制台中键入dir(cv2)
,您很可能会找到您要查找的内容。pythonapi中的东西通常有稍微不同的名称,但找到它们并不是一个大问题。请注意,cv2.cv
模块中也可能有一些内容。在相关问题 更多 >
编程相关推荐