Update: Refactor to absolute imports, fix QPS limits, and enhance Gitea sync with SQLite support
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
|
||||
import os
|
||||
import base64
|
||||
import requests
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
def get_access_token(api_key, secret_key):
|
||||
url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={api_key}&client_secret={secret_key}"
|
||||
response = requests.request("POST", url)
|
||||
return response.json().get("access_token")
|
||||
|
||||
def test_table_v2(image_path, api_key, secret_key):
|
||||
# 表格识别V2接口
|
||||
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/table"
|
||||
|
||||
with open(image_path, "rb") as f:
|
||||
img = base64.b64encode(f.read())
|
||||
|
||||
params = {
|
||||
"image": img,
|
||||
"is_sync": "true",
|
||||
"request_type": "excel"
|
||||
}
|
||||
access_token = get_access_token(api_key, secret_key)
|
||||
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)
|
||||
|
||||
return response.json()
|
||||
|
||||
if __name__ == "__main__":
|
||||
api_key = "kIehdWbbVD85K18qZYz6SeUf"
|
||||
secret_key = "RCXTgmVjJJkNNMhfY5ASab0xY3mvF6d7"
|
||||
|
||||
input_dir = Path(r"F:\Administrator\桌面\OCR系统_Release\data\input")
|
||||
images = list(input_dir.glob("*.jpg")) + list(input_dir.glob("*.png"))
|
||||
|
||||
if not images:
|
||||
print("错误: 桌面 Release 目录下没有找到图片文件")
|
||||
else:
|
||||
latest_image = max(images, key=os.path.getmtime)
|
||||
print(f"正在使用【表格识别V2】接口测试图片: {latest_image.name}")
|
||||
|
||||
result = test_table_v2(str(latest_image), api_key, secret_key)
|
||||
|
||||
# 打印表格外的文字(header/footer)
|
||||
if "tables_result" in result:
|
||||
print("\n--- 表格识别结果 ---")
|
||||
for table in result["tables_result"]:
|
||||
print("\n[Header 区域]:")
|
||||
header = table.get("header", [])
|
||||
for cell in header:
|
||||
print(f"- {cell.get('words')}")
|
||||
|
||||
print("\n[Footer 区域]:")
|
||||
footer = table.get("footer", [])
|
||||
for cell in footer:
|
||||
print(f"- {cell.get('words')}")
|
||||
elif "result" in result and "tables_result" in result["result"]:
|
||||
print("\n--- 表格识别结果 (嵌套结构) ---")
|
||||
for table in result["result"]["tables_result"]:
|
||||
print("\n[Header 区域]:")
|
||||
header = table.get("header", [])
|
||||
for cell in header:
|
||||
print(f"- {cell.get('words')}")
|
||||
|
||||
print("\n[Footer 区域]:")
|
||||
footer = table.get("footer", [])
|
||||
for cell in footer:
|
||||
print(f"- {cell.get('words')}")
|
||||
else:
|
||||
print(f"识别失败或未找到表格: {json.dumps(result, indent=2, ensure_ascii=False)[:500]}")
|
||||
Reference in New Issue
Block a user