2012-04-03 81 views
-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; 


      } 

請任何人都可以告訴我有其他方法來創建這樣的應用程序,以及如何將用戶的皮膚更改爲藍色?

回答

2

這實際上不是一個問題,而是一個問題。

要將膚色更改爲藍色,可以使用OpenCV等庫。將圖像轉換爲HSV色彩空間,並使H(色相)通道中的值增加80左右,您可能會得到所需的結果。

要製作頭像,您可以使用Viola-Jones人臉檢測算法(也存在於OpenCV中)從用戶的圖片中只提取人臉,然後添加您選擇的圖片並放在頭頂上。如果它看起來不錯,但我不會感到驚訝。

祝你好運。

相關問題