Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以编程方式更改肤色_Python_Image Processing_Image Manipulation_Skin - Fatal编程技术网

Python 以编程方式更改肤色

Python 以编程方式更改肤色,python,image-processing,image-manipulation,skin,Python,Image Processing,Image Manipulation,Skin,有没有人对调整一张图片,使其中的肤色与另一张图片的肤色相匹配有任何信息或建议 这是一个有点模糊的问题,但我希望有人曾经遇到过这个问题!我这样做的目的是,我可以使用Python(或任何语言,只要是编程方式)将一个图像中的面替换为另一个图像中的面 我发现了几篇与该主题相关的论文: (pdf)(另见:) (pdf) (pdf) 但是,内容超出了我的理解范围,因此我无法根据他们所说的内容来决定具体做什么 任何形式的建议都将不胜感激,因为我目前不知道该做什么。以下是一些关于如何开始的一般性高层建议 基

有没有人对调整一张图片,使其中的肤色与另一张图片的肤色相匹配有任何信息或建议

这是一个有点模糊的问题,但我希望有人曾经遇到过这个问题!我这样做的目的是,我可以使用Python(或任何语言,只要是编程方式)将一个图像中的面替换为另一个图像中的面

我发现了几篇与该主题相关的论文:

  • (pdf)(另见:)
  • (pdf)
  • (pdf)
但是,内容超出了我的理解范围,因此我无法根据他们所说的内容来决定具体做什么


任何形式的建议都将不胜感激,因为我目前不知道该做什么。

以下是一些关于如何开始的一般性高层建议

基本上,您所做的是一个优化问题。这些算法被用于许多问题,有几种众所周知的方法可以做到这一点。归结起来就是这样

  • 创建一个评分函数,可以告诉你一个单一的数字,你有多好的结果。数字越大越好
  • 创建一个函数,该函数接受输入和一些参数,并生成可评分的输出
  • 这一点很重要:评分函数应根据参数#2保持一定的连续性。如果您有两个参数,并在3D中绘制(param1、param2、score),它将看起来像一个有大山丘的凹凸不平的曲面
  • 你现在的工作是找到表面的最大值。你可能有两个以上的参数——在这种情况下,你有一个N-D曲面——但想法是一样的
  • 查找爬山、遗传算法或优化问题。托比·塞加兰(Toby Segaran)的《编程集体智能》(Programming Collective Intelligence)是一本有代码的python好书

    一般来说,爬山有点像:

  • 对参数做一个很好的猜测
  • 创建输出和分数
  • 稍微更改一个参数
  • 给输出打分
  • 如果更好,继续朝这个方向走,如果更糟,改变方向
  • 如果你被卡住了,到水面上的其他地方去试试
  • 如果你找到了一个局部最大值,但它还不够好——去别的地方试试
  • 不过,看看实际的算法,它们比这个复杂一些

    许多研究归结为提出了一个好的评分函数和一种了解哪些参数有效以及如何使用它们的好方法

    使用这个概要——只需尝试将亮度/对比度作为输出生成函数(亮度和对比度是输入)。为了得分,你需要一种比较比赛中两张照片的方法——首先,选择一些简单的东西(可能是硬编码一个区域来检查)


    一旦你开始,你将对如何做到这一点有更多的见解,并可以回到论文中寻求想法。

    +1提供论文链接。我浏览了第一张,发现它也在我的头上。我认为一个很好的方法是通过查阅参考文献,看看他们引用了哪些过去的论文,特别是第4.2节中的两篇。如果你回过头来看,你可能会发现一些更容易理解的东西,或者至少可以帮助你理解新的方法。