91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity如何實現人像動漫化效果

發布時間:2022-01-10 11:38:40 來源:億速云 閱讀:188 作者:iii 欄目:開發技術

這篇文章主要介紹了Unity如何實現人像動漫化效果的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Unity如何實現人像動漫化效果文章都會有所收獲,下面我們一起來看看吧。

接口介紹:

運用對抗生成網絡技術,結合人臉檢測、頭發分割、人像分割等技術,為用戶量身定制千人千面的二次元動漫形象,并支持通過參數設置,生成二次元動漫人像。

創建應用:     

在產品服務中搜索圖像增強與特效,創建應用,獲取AppID、APIKey、SecretKey信息:

Unity如何實現人像動漫化效果

Unity如何實現人像動漫化效果

查閱官方文檔,以下是人像動漫畫接口返回數據參數詳情:

Unity如何實現人像動漫化效果

定義數據結構:

using System;
 
/// <summary>
/// 人像動漫化接口響應數據結構
/// </summary>
[Serializable]
public class AnimeResponse
{
    /// <summary>
    /// 唯一的log id,用于問題定位
    /// </summary>
    public int log_id;
    /// <summary>
    /// 處理后圖片的Base64編碼
    /// </summary>
    public string image;
}

下載C# SDK:

Unity如何實現人像動漫化效果

下載完成后將AipSdk.dll動態庫導入到Unity中:

Unity如何實現人像動漫化效果

以下是調用接口時傳入的參數詳情:

Unity如何實現人像動漫化效果

封裝調用函數: 

using System;
using System.Collections.Generic;
using UnityEngine;
 
/// <summary>
/// 人像動漫化
/// </summary>
public class Anime
{
    //以下信息于百度開發者中心控制臺創建應用獲取
    private const string appID = "";
    private const string apiKey = "";
    private const string secretKey = "";
 
        /// <summary>
    /// 發起人像動漫畫請求
    /// </summary>
    /// <param name="bytes">圖片字節數據</param>
    /// <param name="withMask">是否帶口罩</param>
    /// <param name="maskID">口罩ID 取值范圍1-8</param>
    /// <returns>返回的動漫畫圖片字節數據</returns>
    public static byte[] SendRequest(byte[] bytes, bool withMask = false, int maskID = 1)
    {
        var client = new Baidu.Aip.ImageProcess.ImageProcess(apiKey, secretKey);
        try
        {
            var options = new Dictionary<string, object>
            {
                { "type", withMask ? "anime_mask" : "anime" },
                { "mask_id", Mathf.Clamp(maskID, 1, 8) }
            };
            var response = client.SelfieAnime(bytes, options);
            AnimeResponse animeResponse = JsonUtility.FromJson<AnimeResponse>(response.ToString());
            byte[] buffer = Convert.FromBase64String(animeResponse.image);
            return buffer;
        }
        catch(Exception error)
        {
            Debug.LogError(error);
        }
        return null;
    }
    /// <summary>
    /// 發起人像動漫畫請求
    /// </summary>
    /// <param name="url">圖片url地址</param>
    /// <param name="withMask">是否帶口罩</param>
    /// <param name="maskID">口罩ID 取值范圍1-8</param>
    /// <returns>返回的動漫畫圖片字節數據</returns>
    public static byte[] SendRequest(string url, bool withMask = false, int maskID = 1)
    {
        var client = new Baidu.Aip.ImageProcess.ImageProcess(apiKey, secretKey);
        try
        {
            var options = new Dictionary<string, object>
            {
                { "type", withMask ? "anime_mask" : "anime" },
                { "mask_id", Mathf.Clamp(maskID, 1, 8) }
            };
            var response = client.SelfieAnimeUrl(url, options);
            AnimeResponse animeResponse = JsonUtility.FromJson<AnimeResponse>(response.ToString());
            byte[] buffer = Convert.FromBase64String(animeResponse.image);
            return buffer;
        }
        catch (Exception error)
        {
            Debug.LogError(error);
        }
        return null;
    }
}

測試圖片:

Unity如何實現人像動漫化效果

using System.IO;
using UnityEngine;
 
public class Example : MonoBehaviour
{
    private void Start()
    {
        //讀取圖片字節數據 發起請求
        var bytes = Anime.SendRequest(File.ReadAllBytes(Application.dataPath + "/Picture.jpg"));
        //根據返回的字節數據生成圖片
        File.WriteAllBytes(Application.dataPath + "/Test.png", bytes);
    }
}

下面是生成的圖片:

Unity如何實現人像動漫化效果

關于“Unity如何實現人像動漫化效果”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Unity如何實現人像動漫化效果”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

积石山| 阿巴嘎旗| 康保县| 嘉义市| 嘉祥县| 疏附县| 云阳县| 蓬溪县| 察隅县| 玛纳斯县| 莒南县| 额济纳旗| 子长县| 肇东市| 高要市| 宜兰市| 田阳县| 年辖:市辖区| 固安县| 汝州市| 报价| 绥芬河市| 青浦区| 北海市| 潜江市| 大渡口区| 东方市| 浦东新区| 瓦房店市| 巴彦县| 余姚市| 搜索| 资中县| 和龙市| 东辽县| 蓬安县| 象山县| 尼玛县| 屯留县| 莱芜市| 佛山市|