我的问题是,如果我有一个狮子图像,我只想改变狮子的 colored颜色 ,而不是背景色.为此,我引用了SO question,但它改变了整个图像的 colored颜色 .此外,这张照片看起来也不太好.我需要像photoshop那样改变 colored颜色 .无论是在coregraphics中还是我必须使用任何其他库.
编辑:我需要的 colored颜色 变化是像iQuikColor应用程序
我的问题是,如果我有一个狮子图像,我只想改变狮子的 colored颜色 ,而不是背景色.为此,我引用了SO question,但它改变了整个图像的 colored颜色 .此外,这张照片看起来也不太好.我需要像photoshop那样改变 colored颜色 .无论是在coregraphics中还是我必须使用任何其他库.
编辑:我需要的 colored颜色 变化是像iQuikColor应用程序
See answers below instead. Mine doesn't provide a complete solution.
以下是使用OpenCV的可能解决方案的示意图:
cvCvtColor
将图像从RGB转换为HSV(我们只想更改色调).cvThreshold
指定特定公差(您需要的是一系列 colored颜色 ,而不是一种平面 colored颜色 )来隔离一种 colored颜色 .cvInRangeS
遮罩 colored颜色 ,并使用生成的遮罩应用新色调.cvMerge
使用在第一步中保存的饱和度和亮度通道组成的图像,创建具有新色调的新图像.网络上有几个OpenCV iOS端口,例如:http://www.eosgarden.com/en/opensource/opencv-ios/overview/我自己没有try 过,但似乎是一个很好的研究方向.