【Python案例】用某度AI介面實現摳圖並改圖片底色
# 人像分割
import os
import requests
import base64
import cv2
import numpy as np
from PIL import Image
from pathlib import Path
path = os.getcwd()
paths = list(Path(path).glob('*'))
def get_access_token():
url = '
data = {
'grant_type': 'client_credentials', # 固定值
'client_id': ' 替換成你的 API Key', # 在開放平臺註冊後所建應用的 API Key
'client_secret': ' 替換成你的 Secret Key' # 所建應用的 Secret Key
}
res = requests.post(url, data=data)
res = res.json()
access_token = res['access_token']
return access_token
def png_jpg(png_name):
im = Image.open(png_name)
bg=Image.new('RGB',im.size,(255,255,255))
bg.paste(im)
jpg_name =跟單網gendan5.com png_name.split('.')[0]+".jpg"
#quality 代表圖片質量,值越低越模糊
bg.save(jpg_name,quality=70)
im.close()
#compress_rate :數值越小照片越模糊
def resize(compress_rate = 0.5):
im = Image.open(name)
w, h = im.size
im_resize = im.resize((int(w*compress_rate), int(h*compress_rate)))
resize_w, resieze_h = im_resize.size
#quality 代表圖片質量,值越低越模糊
im_resize.save(name)
im.close()
def get_size():
size = os.path.getsize(name)
return size / 1024
def fullwhite(png_name):
im = Image.open(png_name)
x,y = im.size
try:
# 使用白色來填充背景
# (alpha band as paste mask).
p = Image.new('RGBA', im.size, (255,255,255))
p.paste(im, (0, 0, x, y), im)
p.save(png_name)
except:
pass
def removebg():
try:
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg"
# 二進位制方式開啟圖片檔案
f = open(name, 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
access_token = get_access_token()
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
res = response.json()["foreground"]
png_name=name.split('.')[0]+".png"
with open(png_name,"wb") as f:
data = base64.b64decode(res)
f.write(data)
fullwhite(png_name)
png_jpg(png_name)
os.remove(png_name)
print(name+"\t 處理成功! ")
except Exception as e:
pass
if __name__ == '__main__':
for i in paths:
name = os.path.basename(i.name)
if(name==os.path.basename(__file__)):
continue
size = get_size()
## 照片壓縮
while size >=900:
size = get_size()
resize()
removebg()
print(" ")
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2915840/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PaddlePaddle : AI摳圖及圖片合成AI
- 別再自己摳圖了,Python用5行程式碼實現批量摳圖Python行程
- 某AI圖片生成網AI
- Mac圖片摳圖軟體InPixio Photo Cutter輕鬆摳圖Mac
- 圖片摳圖線上工具推薦
- 美圖秀秀怎麼摳圖?美圖秀秀對圖片進行圓形摳圖的教程
- 用Python實現圖片的清晰掃描Python
- 利用百度AI OCR圖片識別,Java實現PDF中的圖片轉換成文字AIJava
- CSS實現圖片寬度自適應CSS
- 通過API介面實現圖片上傳API
- AI大模型實現圖片OCR識別AI大模型
- 電商圖片線上製作,可摳圖可寫文案
- Java 實現壓縮圖片,影片,音訊案例Java音訊
- Python呼叫百度OCR介面圖片識別轉文字Python
- python實現橫向拼接圖片Python
- AI圖片AI
- QLabel顯示圖片 ,並實現縮放
- 如何實現一鍵線上自動摳圖?
- 如何實現微信中貼上圖片的介面
- C#通過百度Ai介面實現圖片文字識別核心程式碼-楊麻子部落格C#AI
- 用createObjectURL實現本地圖片預覽Object地圖
- 使用jpeg圖片庫,顯示圖片並簡單實現LCD的觸屏功能
- 美顏SDK人像摳圖技術是什麼?人像摳圖技術是如何實現的?
- Python爬蟲—爬取某網站圖片Python爬蟲網站
- vue 實現剪裁圖片並上傳伺服器Vue伺服器
- python sift 特徵匹配 圖片相似度Python特徵
- [Python]爬蟲獲取知乎某個問題下所有圖片並去除水印Python爬蟲
- matlab實現調整圖片的對比度Matlab
- 直播系統原始碼,快速實現改變圖片尺寸原始碼
- 如何用Python爬蟲實現百度圖片自動下載?Python爬蟲
- 用原生js實現圖片輪播器JS
- 不會用Photoshop摳圖?Python助你一鍵“除”人!Python
- 用jquery控制圖片的最大寬度jQuery
- Python 萌新 - 實現 Markdown 圖片下載器Python
- Django實現圖片上傳並前端頁面顯示Django前端
- 實現圖片預覽
- 實現圖片縮放
- JAVA實現圖片裁剪Java