推广 热搜:   公司  快速  中国  企业    行业  设备  上海  未来 

【零基础微信小程序】基于百度大脑人像分割的证件照换底色小程序实战开发

   日期:2025-01-02     移动:http://keair.bhha.com.cn/mobile/quote/6027.html

我们来看下人像分割是啥意思
举个例子

2)二值图

注册好小程序后,将后端合法域名设置添加

https://aip.baidubce.com

*复制备用好的appid

API状态请求地址调用量限制QPS限制人像分割付费使用https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg5万次/天赠送 + 超出按量计费10

我们已经获取到了人像分割识别接口

https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg

那怎么使用呢

我们先看下官方给的请求示例

HTTP 方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg

URL参数

参数值access_token通过API Key和Secret Key获取的access_token,参考“Access Token获取”

Header如下

(这里一定要按照文档的要求来 不然会出错)

参数值Content-Typeapplication/x-www-form-urlencoded

请求参数

参数是否必选类型可选值范围说明image是string-图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M。图片的base64编码是不包含图片头的,如(data:image/jpg;base64,),支持图片格式:jpg、bmp、png,最短边至少50px,最长边最大4096pxtype否stringlabelmap,scoremap,foreground可以通过设置type参数,自主设置返回哪些结果图,避免造成带宽的浪费1)可选值说明:labelmap - 二值图像,需二次处理方能查看分割效果scoremap - 人像前景灰度图foreground - 人像前景抠图,透明背景2)type 参数值可以是可选值的组合,用逗号分隔;如果无此参数默认输出全部3类结果图

access_token获得方法

请求URL数据格式,向授权服务地址

https://aip.baidubce.com/oauth/2.0/token

发送请求(推荐使用POST,并在URL中带上以下参数

grant_type: 必须参数,固定为client_credentials
client_id: 必须参数,应用的API Key
client_secret: 必须参数,应用的Secret Key

: API Key、Secret Key 均可在百度智能云控制台 应用列表 处获取,若无应用请先进行创建; API Key、Secret
Key用于接口调用鉴权,请务必注意保密,不可在公开文档或代码中以明文展示,否则可能导致账号被盗用。

与自己的密钥拼接后(例如

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlA4Fq5eR3LT0vuXV4&client_secret=0rDSjzQ20XUj5itV6WRtznPQSzr5pVw2&

这里呢,access_token有效期是30天,大家可以用定时任务每几天触发一次,然后存取到redis即可,这样就避免了每次使用都需要去调用的情况

构建一个view用于放默认图片“+”

 
 

现在开始设计js事件,通过上方的bindtap事件

bindtap=“add_img”

我们在js中构造方法

 

当用户点击上传后,需要一个选择图片的操作 所以

 
 
 

获取到上传图片信息后,因为百度的接口中已经说明了,只能用base64编码且大小不能超过4M

图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M。图片的base64编码是不包含图片头的,如(data:image/jpg;base64,),支持图片格式:jpg、bmp、png,最短边至少50px,最长边最大4096px

所以我们现在需要将临时图片转换为base64编码,通过调用第三方js进行处理

 
 
 
 
 

获取到新的数据后 我们复制一下百度返回的base64码

打开浏览器通过这个工具:base64图片转换

将返回的数据最前面加上

data:image/jpeg;base64,

发现图片是一张处理后的透明图,这里就说明我们上面的流程已经完整运行了,接下来只需要将base64转换为图片即可,通过小程序将base64逆向转换为图片存在本地生成一个临时路径通过canvas完成对颜色的渲染绘画最后保存下来即可

转换图片到本地

 
 

转换后保存到缓存通过canvas渲染到前端

 
 
 
 
 
 
 

在js构造方法(这里有两个是因为一个是输出的图像,一个是给用户看的展示到前端的

 
 

通过颜色的选择结合百度分割后的图片绘制

 
 

因为小程序有激励广告费可以赚取,所以我们在这里可以加一个广告激励时间,通过判断观看完整来执行代码
wxml代码

 

js代码

加一个模态窗口,用于询问

本文地址:http://keair.bhha.com.cn/quote/6027.html    康宝晨 http://keair.bhha.com.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号