main
黄海 1 year ago
parent 314c9d31ea
commit 0e2725b24d

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

@ -0,0 +1,49 @@
import requests
import base64
from PIL import Image
url = 'http://192.168.1.21:7860/tagger/v1/interrogate'
image_path = r'D:\KeCheng\BaiHu\Backup\mote2.png'
# 反推模型
model = 'wd14-vit-v2-git' # 'wd14-convnext'
# 阀值
threshold = 0.35
# 确认照片为上传照片
image = Image.open(image_path)
# 将图片转换为Base64字符串
with open(image_path, 'rb') as file:
image_data = file.read()
base64_image = base64.b64encode(image_data).decode('utf-8')
image.close()
# 构建请求体的JSON数据
data = {
"image": base64_image,
"model": model,
"threshold": threshold
}
# 发送POST请求
response = requests.post(url, json=data)
# 检查响应状态码
if response.status_code == 200:
json_data = response.json()
# 处理返回的JSON数据
caption_dict = json_data['caption']
sorted_items = sorted(caption_dict.items(), key=lambda x: x[1], reverse=True)
# output = '\n'.join([f'{k}: {v}, {int(v * 100)}%' for k, v in sorted_items])
# output = ','.join([f'{k.replace("_"," ")}' for k, v in sorted_items])
output = ''
for k, v in sorted_items:
if v > threshold:
output = output + "," + k.replace("_", " ")
output = output[1:]
print(output)
else:
print('Error:', response.status_code)
print('Response body:', response.text)
Loading…
Cancel
Save