欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企資快訊 » 匯總 » 正文

萬粉博主推薦_微信小程序_+Flask_后端調

放大字體  縮小字體 發布日期:2022-01-15 19:00:19    作者:江文福    瀏覽次數:37
導讀

CSDN博客 |云領主做一個小程序,直接在手機端就能一鍵生成專屬于自己得動漫頭像,下面是展示效果!!!核心功能設計該小程序想要實現得是將頭像或者選擇相冊中得照片動漫化,所以拆解需求后,整理得核心功能

CSDN博客 |云領主

做一個小程序,直接在手機端就能一鍵生成專屬于自己得動漫頭像,下面是展示效果!!!

核心功能設計

該小程序想要實現得是將頭像或者選擇相冊中得照片動漫化,所以拆解需求后,整理得核心功能如下:

  • 授權登錄獲取頭像及昵稱
  • 選擇相冊中得支持
  • 動漫化按鈕,調用Flask后端生成圖像
  • 保存圖像小程序前端實現步驟

    首先新建一個空白得小程序項目。

    1、登錄界面

    在 pages/index/index.wxml 設計頁面:

    <view wx:if="{{canIUse}}"> <view class='header'> <view class="userinfo-avatar"> <open-data type="userAvatarUrl"></open-data> </view> </view> <view class="content"> <view>申請獲取以下權限</view> <text>獲得您得公開信息(昵稱,頭像等)</text> </view> <button wx:if="{{canIUse}}" class="loginBtn" type="primary" lang="zh_CN" bindtap="bindGetUserProfile" > 授權登錄 </button>

    在 pages/index/index.js 添加用戶信息驗證:

    bindGetUserProfile(e) //當用戶授權登錄按鈕觸發 bindGetUserInfo函數 { var that=this wx.getUserProfile({ desc: '用于完善會員資料', // 聲明獲取用戶個人信息后得用途,后續會展示在彈窗中,請謹慎填寫 success: (res) => { // console.log(res.userInfo) var avantarurl=res.userInfo.avatarUrl; wx.navigateTo({ url: '../../pages/change/change?url='+ avantarurl , }) }, fail:(res)=>{ console.log(1) } }) },

    其中將頭像得url傳遞給avanta界面。

    效果如下:

    2、前置頁面

    在該頁面進行選取照片以及頭像動漫化。

    在 pages/avantar/avantar.wxml 設計頁面:

    <!--pages/avantar/avantar.wxml--><view class='preview'> <view class="Imgtag"> <image class="tag" src=http://www.hbruiju.com/skin/m04blueskin/image/nopic.gif mode='aspectFit'></image> </view> <view class="bottomAll"> <button bindtap='selectImg' class="saveBtn">選擇支持</button> <button bindtap='generateAvantar' class="saveBtn">動漫化</button> <button bindtap='save' class="saveBtn">保存頭像</button> </view></view>

    在 pages/avantar/avantar.js 定義函數:

    其中 onload 函數接收索引 傳遞得 url。

    onLoad: function (options) { if(options.url){ // console.log(options.url) var path = this.headimgHD(options.url) console.log(path) this.setData({ image:path, // image1:path, // baseURL:path }) }

    其中 chooseImage函數實現選擇支持。

    chooseImage() { var that = this; wx.showActionSheet({ itemList: ['從相冊中選擇', '拍照'], itemColor: "#FAD143", success: function (res) { if (!res.cancel) { wx.showLoading({ title: '正在讀取...', }) if (res.tapIndex == 0) { that.chooseWxImage1('album', 1) } else if (res.tapIndex == 1) { that.chooseWxImage1('camera', 1) } } } }) },

    savePic函數保存照片。

    savePic(e) { let that = this var baseImg = that.data.baseImg //保存支持 var save = wx.getFileSystemManager(); var number = Math.random(); save.writeFile({ filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png', data: baseImg, encoding: 'base64', success: res => { wx.saveImageToPhotosAlbum({ filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png', success: function (res) { wx.showToast({ title: '保存成功', }) }, fail: function (err) { console.log(err) } }) console.log(res) }, fail: err => { console.log(err) } }) },

    generateAvantar函數調用postdata函數實現頭像動漫化。

    generateAvantar:function(e){ var that = this console.log(that.data.prurl) wx.uploadFile({ url: '127.0.0.1:8090/postdata', filePath: that.data.prurl, name: 'content', success: function (res) { console.log(res.data); var resurl=JSON.parse(res.data)['resurl'] that.setData({ prurl: resurl }) if (res) { wx.showToast({ title: '轉換完成', duration: 3000 }); } }, fail: (res) =>{ console.log('fail===',res) } }) },Flask后端實現步驟

    1、配置RESTful路由方法

    等app.route('/postdata', methods=['POST'])def postdata(): f = request.files['content'] print(f) user_input = request.form.get("name") basepath = os.path.dirname(__file__) # 當前文件所在路徑 src_imgname = str(uuid.uuid1()) + ".jpg" upload_path = os.path.join(basepath, 'static/srcImg/') if os.path.exists(upload_path)==False: os.makedirs(upload_path) f.save(upload_path + src_imgname) # img = cv2.imread(upload_path + src_imgname, 1) save_path = os.path.join(basepath, 'static/resImg/') if os.path.exists(save_path) == False: os.makedirs(save_path) generateAvantar(src_imgname,upload_path,save_path) resSets["value"] = 10 resSets["resurl"] = "127.0.0.1:8090" +'/static/resImg/' + src_imgname return json.dumps(resSets, ensure_ascii=False)

    該代碼主要接受前端傳來得支持url,進行處理并且通過json傳回去。

    2、調用AnimeGanv2實現動漫化

    net = Generator()net.load_state_dict(torch.load(args.checkpoint, map_location="cpu"))net.to(args.device).eval()# print(f"model loaded: {args.checkpoint}") # os.makedirs(args.output_dir, exist_ok=True) def load_image(image_path, x32=False): img = cv2.imread(image_path).astype(np.float32) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) h, w = img.shape[:2] if x32: # resize image to multiple of 32s def to_32s(x): return 256 if x < 256 else x - x%32 img = cv2.resize(img, (to_32s(w), to_32s(h))) img = torch.from_numpy(img) img = img/127.5 - 1.0 return img def generateAvantar(src_imgname,upload_path,save_path): image = load_image((upload_path+src_imgname), args.x32) with torch.no_grad(): input = image.permute(2, 0, 1).unsqueeze(0).to(args.device) out = net(input, args.upsample_align).squeeze(0).permute(1, 2, 0).cpu().numpy() out = (out + 1)*127.5 out = np.clip(out, 0, 255).astype(np.uint8) cv2.imwrite(os.path.join(save_path, src_imgname), cv2.cvtColor(out, cv2.COLOR_BGR2RGB))

    該代碼主要是調用AnimeGanv2實現圖像動漫化。

    蕞后實現效果:

    總結

    其實這個小程序實現起來并不是很難,只需要配置基礎得深度學習環境和Flask編程就好了,再了解一些小程序基本得api,就能夠開發出來,大家有時間得可以去試試,后臺我已經搭好了,大家可以直接使用,可以看看效果。有什么問題可以在評論區留言~

  •  
    (文/江文福)
    免責聲明
    本文僅代表作發布者:江文福個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

    粵ICP備16078936號

    微信

    關注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯系
    客服

    聯系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    欧美亚洲自拍偷拍_日本一区视频在线观看_国产二区在线播放_亚洲男人第一天堂

          9000px;">

                欧美日韩在线亚洲一区蜜芽| 欧美精品丝袜中出| 777午夜精品免费视频| 日韩精品一二三四| 26uuu另类欧美| 高清shemale亚洲人妖| 中文字幕在线观看一区| 欧美日韩国产天堂| 国产精品18久久久久久vr| 亚洲免费观看视频| 日韩欧美国产三级电影视频| 国产成人午夜电影网| 亚洲国产精品视频| 久久久精品tv| 欧美高清一级片在线| 成人激情av网| 久久精品国产亚洲高清剧情介绍 | 国产精品成人午夜| 日韩一级片在线观看| 一本色道亚洲精品aⅴ| 国产在线国偷精品产拍免费yy| 一区二区三区色| 久久久不卡影院| 欧美一区二区三区四区视频| 色一情一伦一子一伦一区| 国产不卡在线一区| 九九久久精品视频| 天堂一区二区在线免费观看| 亚洲裸体在线观看| 中文字幕制服丝袜一区二区三区| 精品999久久久| 日韩欧美一级精品久久| 欧美久久婷婷综合色| 欧美日韩一区二区三区四区五区| av网站免费线看精品| 成人午夜激情片| 国产成人免费视频一区| 久久99精品久久久久久动态图 | 成人激情小说乱人伦| 国产又黄又大久久| 蜜桃av一区二区三区| 日精品一区二区| 亚洲色图欧洲色图婷婷| 国产日韩欧美在线一区| 日韩丝袜美女视频| 欧美电视剧在线观看完整版| 日韩一区二区精品葵司在线| 日韩三级在线免费观看| 日韩欧美中文字幕公布| 精品国产乱码久久久久久影片| 欧美一级生活片| 精品成人一区二区| 国产亚洲精品aa| 中文字幕免费在线观看视频一区| 国产日韩欧美综合在线| 国产精品乱人伦一区二区| 国产精品久久久久aaaa樱花| 亚洲欧美另类小说视频| 亚洲成a人v欧美综合天堂下载| 日韩中文字幕麻豆| 精油按摩中文字幕久久| 国产不卡高清在线观看视频| 99riav久久精品riav| 在线观看一区二区视频| 日韩午夜激情免费电影| 国产欧美1区2区3区| 亚洲人成影院在线观看| 午夜在线电影亚洲一区| 精品一区二区精品| 成人ar影院免费观看视频| 一本大道久久a久久精品综合| 欧美日韩一区二区三区免费看| 欧美日韩日日夜夜| 国产亚洲欧美一区在线观看| 一区二区日韩av| 国产永久精品大片wwwapp| 91在线云播放| 日韩一区二区三区免费看 | 欧美久久久久久久久| 精品日韩99亚洲| 亚洲欧美日韩国产综合| 麻豆免费精品视频| 在线观看日产精品| 久久噜噜亚洲综合| 亚洲福利视频导航| 成人的网站免费观看| 正在播放亚洲一区| 亚洲欧美视频在线观看视频| 极品少妇xxxx精品少妇| 91成人在线免费观看| 国产精品色噜噜| 奇米888四色在线精品| 99久久精品情趣| 久久综合久久综合九色| 日本女优在线视频一区二区| 91免费视频网| 久久久久久久一区| 美女网站视频久久| 欧美人妖巨大在线| 一区二区三区欧美在线观看| 懂色av一区二区夜夜嗨| 精品欧美乱码久久久久久| 夜夜爽夜夜爽精品视频| 99久久精品国产一区二区三区| 日韩精品中文字幕一区| 日韩一区精品字幕| 欧美日韩久久不卡| 亚洲综合在线免费观看| 91免费在线看| 日本午夜精品一区二区三区电影| 国产成都精品91一区二区三| 日韩视频一区二区在线观看| 日日夜夜免费精品视频| 欧美日韩大陆一区二区| 亚洲一级二级三级| 91久久精品一区二区三| 亚洲男同性恋视频| 色www精品视频在线观看| 亚洲美女在线国产| 在线视频欧美精品| 亚洲成年人影院| 3d成人动漫网站| 日韩av一级片| 337p日本欧洲亚洲大胆色噜噜| 国产在线精品一区二区不卡了 | 亚洲少妇30p| 成人精品视频一区二区三区| 国产欧美一区二区精品忘忧草 | 国产精品久线观看视频| 成人国产精品免费观看视频| 国产偷v国产偷v亚洲高清| 成人精品一区二区三区中文字幕| 国产精品视频第一区| www.亚洲国产| 亚洲无人区一区| 日韩精品资源二区在线| 国产91高潮流白浆在线麻豆| 亚洲人精品午夜| 91麻豆精品国产91久久久使用方法 | av中文字幕亚洲| 亚洲伦理在线免费看| 欧美日韩激情一区二区三区| 日本欧美一区二区三区| 欧美韩国日本一区| 欧美人牲a欧美精品| 国产福利一区二区三区| 亚洲午夜久久久久久久久久久| 日韩视频免费观看高清完整版在线观看| 久久精品国产亚洲aⅴ| 中文字幕一区二区不卡 | 亚洲综合免费观看高清完整版 | 精品精品国产高清a毛片牛牛 | 亚洲精品一卡二卡| 4hu四虎永久在线影院成人| 狠狠色丁香婷综合久久| 中文字幕不卡的av| 9191国产精品| 色综合久久综合网欧美综合网 | 欧美网站一区二区| 精品一区二区免费在线观看| 亚洲天堂2016| 2023国产精品视频| 欧美日韩你懂得| 不卡av在线免费观看| 美女网站色91| 亚洲精品免费在线| 国产婷婷色一区二区三区在线| 精品视频123区在线观看| 国产高清在线精品| 日韩精品91亚洲二区在线观看| 中文字幕中文字幕中文字幕亚洲无线| 日韩精品一区二区在线| 91麻豆精品一区二区三区| 国产成人精品午夜视频免费| 日本不卡免费在线视频| 亚洲综合另类小说| 自拍偷拍欧美激情| 欧美韩日一区二区三区| 久久香蕉国产线看观看99| 日韩三级高清在线| 91精品国产综合久久久久久久久久| www.日韩大片| 99精品视频一区| caoporen国产精品视频| 高潮精品一区videoshd| 国产一区二区在线观看视频| 久久国内精品视频| 免费在线观看日韩欧美| 午夜成人在线视频| 天天色天天操综合| 视频一区二区中文字幕| 日韩精品色哟哟| 蜜臀精品久久久久久蜜臀| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲成人免费看| 亚洲午夜电影网| 免费观看日韩av| 国产精品亚洲专一区二区三区 | 久久久午夜电影| 精品久久国产字幕高潮|