《百度大脑人像分割技术足不出户带您去旅行.docx》由会员分享,可在线阅读,更多相关《百度大脑人像分割技术足不出户带您去旅行.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、百度大脑人像分割技术,足不出户带您去旅行才能我浪费991.需求描绘我想去桂林呀我想去桂林可是有时间的时候我却没有钱我想去桂林呀我想去桂林可是有了钱的时候我却没时间能不能让AI带我们去旅游呢人像分割识别图像中的人体轮廓与背景进展别离再与背景图结合就能实现身在Office也能留下旅游胜地的形象了吧。讲干就干代码奉上。2.平台接入人像分割接入网址s:/console.bce.baidu/ai/?fromai1#/ai/body/overview/index3.调用攻略Python3及评测3.1首先认证受权在开场调用任何API之前需要先进展认证受权详细的讲明请参考:/ai.baidu/docs#/Au
2、th/top详细Python3代码如下#-*-coding:utf-8-*-#!/usr/bin/envpythonimporturllibimportbase64importjson#client_id为官网获取的AKclient_secret为官网获取的SKclient_id【百度云应用的AK】client_secret【百度云应用的SK】#获取tokendefget_token():hosts:/aip.baidubce/oauth/2.0/token?grant_typeclient_credentialsclient_idclient_idclient_secretclient_se
3、cretrequesturllib.request.Request(host)request.add_header(Content-Type,application/json;charsetUTF-8)responseurllib.request.urlopen(request)token_contentresponse.read()iftoken_content:token_infojson.loads(token_content)token_keytoken_infoaccess_tokenreturntoken_key3.2人像分割分析接口调用详细讲明请参考:/ai.baidu/docs
4、#/Body-API/6fe80662接口描绘对于输入的一张图片可正常解码且长宽比适宜识别人体的轮廓范围与背景进展别离适用于拍照背景交换、照片合成、身体特效等场景。输入正常人像图片返回分割后的二值结果图、灰度图、透明背景的人像图png格式。恳求讲明HTTP方法POST恳求URLs:/aip.baidubce/rest/2.0/image-classify/v1/body_segURL参数参数值access_token通过APIKey以及SecretKey获取的access_token参考AccessToken获取Header如下参数值Content-Typeapplication/x-www-
5、form-urlencodedBody中放置恳求参数参数详情如下返回讲明Python3调用代码如下#保存图片defsave_base_image(img_str,filename):img_database64.b64decode(img_str)withopen(filename,wb)asf:f.write(img_data)#人像分割#filename:原图片名本地存储包括途径resultfilename:处理后的文件保存名称(每个人打标)#filename:原图片名本地存储包括途径dehazedfilename:处理后的文件保存名称defbody_seg_fore(filename,r
6、esultfilename):request_urls:/aip.baidubce/rest/2.0/image-classify/v1/body_seg#二进制方式翻开图片文件fopen(filename,rb)imgbase64.b64encode(f.read()paramsdict()paramsimageimgparamstypeforegroundparamsurllib.parse.urlencode(params).encode(utf-8)#paramsjson.dumps(params).encode(utf-8)access_tokenget_token()request
7、_urlrequest_url?access_tokenaccess_tokenrequesturllib.request.Request(urlrequest_url,dataparams)request.add_header(Content-Type,application/x-www-form-urlencoded)responseurllib.request.urlopen(request)contentresponse.read()ifcontent:#print(content)contentcontent.decode(utf-8)#print(content)datajson.
8、loads(content)#print(data)img_strdataforegroundsave_base_image(img_str,resultfilename)3.3.功能评测选用不同的数据对图片流量统计动态版的效果进展测试详细效果如下可能是因为有透明通道的原因这张图看着有点怪不过在PC上看还是很明晰的。针对不同场景进展测试总体来看还是很快速、准确的。4.应用方案为实现照片与旅游圣地组合代码如下#保存图片defsave_base_image(img_str,filename):img_database64.b64decode(img_str)withopen(filename,wb
9、)asf:f.write(img_data)#人像分割#filename:原图片名本地存储包括途径dehazedfilename:处理后的文件保存名称defbody_seg_fore(filename,resultfilename):request_urls:/aip.baidubce/rest/2.0/image-classify/v1/body_seg#二进制方式翻开图片文件fopen(filename,rb)imgbase64.b64encode(f.read()paramsdict()paramsimageimgparamstypeforegroundparamsurllib.pars
10、e.urlencode(params).encode(utf-8)#paramsjson.dumps(params).encode(utf-8)access_tokenget_token()request_urlrequest_url?access_tokenaccess_tokenrequesturllib.request.Request(urlrequest_url,dataparams)request.add_header(Content-Type,application/x-www-form-urlencoded)responseurllib.request.urlopen(reque
11、st)contentresponse.read()ifcontent:#print(content)contentcontent.decode(utf-8)#print(content)datajson.loads(content)#print(data)img_strdataforegroundsave_base_image(img_str,resultfilename)#图片整合#foreimage前景照片baseimage景区照片,outputimage数据结果,rate前景照片缩放比例defcombine_image(foreimage,baseimage,outputimage,ra
12、te):fromPILimportImagebase_imgImage.open(baseimage)BL,BHbase_img.size#读取要粘贴的图片RGBA形式#当需要将一张有透明局部的图片粘贴到一张底片上时假如用Python处理可能会用到PIL#但是PIL中有讲明在粘贴RGBA形式的图片是alpha通道不会被帖上也就是不会有透明的效果#当然也给出解析决方法就是粘贴的时候将RGBA的的alpha通道提取出来做为mask传入。fore_imageImage.open(foreimage)L,Hfore_image.size#缩放fore_imagefore_image.resize(in
13、t(L*rate),int(H*rate)L,Hfore_image.size#别离通道r,g,b,afore_image.split()#粘贴box(int(BL/2-L/2),BH-H,int(BL/2L/2),BH)base_img.paste(fore_image,box,maska)base_img.save(outputimage)#保存图片#输出程序deftravel_image(originimage,baseimage,outputimage,rate):body_seg_fore(originimage,seg_originimage)combine_image(seg_originimage,baseimage,outputimage,rate)#travel_image(crowd1.jpg,grassland.jpg,crowd1_grassland.png,0.35)travel_image(single.jpg,tower.jpg,single_tower.png,0.45)效果如下执行travel_image(single.jpg,tower.jpg,single_tower.png,0.45)结果再来一个原图各个旅游地旅游效果关注博主即可浏览全文
限制150内