import cv2
import base64
import requests
import numpy as np
def read_and_preprocess_image(image_path):
image = cv2.imread(image_path)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
_, buffer = cv2.imencode('.jpg', image)
image_base64 = base64.b64encode(buffer).decode('utf-8')
return image_base64
def send_request_to_deepseek(image_base64, api_key, api_url):
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
data = {
"image": image_base64,
"task": "denoise_and_super_resolution"
}
response = requests.post(api_url, headers=headers, json=data)
return response
def process_response(response):
if response.status_code == 200:
result = response.json()
processed_image_base64 = result.get("processed_image")
if processed_image_base64:
image_data = base64.b64decode(processed_image_base64)
image_array = np.frombuffer(image_data, dtype=np.uint8)
processed_image = cv2.imdecode(image_array, cv2.IMREAD_COLOR)
return processed_image
return None
# 替换为你的 API 密钥和 API 端点 URL
api_key = "your_api_key"
api_url = "https://api.deepseek.com/cv"
image_path = "path_to_your_image.jpg"
# 读取并预处理图像
image_base64 = read_and_preprocess_image(image_path)
# 发送请求到 DeepSeek API
response = send_request_to_deepseek(image_base64, api_key, api_url)
# 处理 API 响应
processed_image = process_response(response)
if processed_image is not None:
# 保存处理后的图像
cv2.imwrite("processed_image.jpg", processed_image)
print("图像处理完成,已保存为 processed_image.jpg")
else:
print("图像处理失败")
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.