-1

我也想将用户的肤色更改为蓝色,就像我不知道该怎么做的头像一样?我尝试了各种方法来实现肤色变化,但无法做到。我试图找到肤色像素,然后用蓝色替换它们,但随后整个皮肤变成了完全蓝色。我想让皮肤变成蓝色,但看起来像下巴、鼻子等的所有阴影一样真实,因此蓝色可能会变暗或变浅,具体取决于脸部。

我用过:

for (int i = 0; i < bytesInContext; i += 4) {



            int alpha =  data[i]; 
            int red = data[i+1]; 
            int green = data[i+2]; 
            int blue = data[i+3];



        if(((red>140)&&(red<190))||(green>120)&&(green<190)||(blue>150)&&(blue<150)){



                data[i]=255; 
                data[i+1]=13; 
                data[i+2]=43; 
                data[i+3]=63;


            }

请谁能告诉我是否有其他方法可以创建此类应用程序以及如何将用户的皮肤更改为蓝色?

4

1 回答 1

2

这实际上不是一个问题,而是一个问题。

要将皮肤颜色更改为蓝色,可以使用 OpenCV 等库。将图像转换为 HSV 颜色空间,并将 H(色调)通道中的值增加 80 左右,您可能会得到想要的结果。

要制作头像,您可以使用 Viola-Jones 人脸检测算法(也存在于 OpenCV 中)从用户图片中仅提取人脸,然后在其周围和顶部添加您选择的图像。不过,如果它看起来很可怕,我不会感到惊讶。

祝你好运。

于 2012-04-04T14:54:12.303 回答