Gunakan Python untuk antara muka dengan Tencent Cloud untuk melaksanakan fungsi pemprosesan imej
Dengan perkembangan pesat Internet, aplikasi imej menjadi semakin meluas. Permintaan untuk pemprosesan imej juga semakin meningkat. Tencent Cloud menyediakan pelbagai fungsi pemprosesan imej, yang boleh mengenal pasti, memangkas, mengezum, memampatkan dan imej lain. Artikel ini akan memperkenalkan cara menggunakan Python untuk antara muka dengan Tencent Cloud untuk melaksanakan fungsi pemprosesan imej.
Pertama, kita perlu menyediakan persekitaran pembangunan Python dan memasang perpustakaan bergantung yang berkaitan. Dalam artikel ini, kami akan menggunakan perpustakaan permintaan untuk permintaan antara muka dan perpustakaan PIL untuk pemprosesan imej. Ia boleh dipasang menggunakan arahan pip:
pip install requests pip install pillow
Seterusnya, kita perlu mencipta kunci API Tencent Cloud baharu pada konsol Tencent Cloud untuk mendapatkan akses kepada antara muka. Pada konsol, masukkan halaman "Pengurusan Kunci API", klik butang "Kunci Baharu" untuk menjana pasangan kunci API dan dapatkan dua nilai: AccessKeyId dan AccessKeySecret.
Seterusnya, kita perlu menulis kod Python untuk memanggil antara muka Tencent Cloud. Mula-mula, import perpustakaan yang diperlukan:
import requests from PIL import Image from io import BytesIO import hashlib import hmac import base64
Kemudian, tentukan beberapa parameter yang diperlukan, seperti alamat antara muka Tencent Cloud API, kaedah permintaan, cap waktu, dll.:
secret_id = "your_secret_id" # 替换为你的腾讯云API密钥 secret_key = "your_secret_key" # 替换为你的腾讯云API密钥 url = "https://face.tencentcloudapi.com/" method = "POST" service = "face" host = "face.tencentcloudapi.com" region = "ap-guangzhou" action = "DetectFace" version = "2018-03-01" algorithm = "TC3-HMAC-SHA256" timestamp = int(time.time()) date = time.strftime("%Y-%m-%d", time.localtime(timestamp))
Seterusnya, kami mentakrifkan beberapa fungsi pemprosesan imej. Berikut ialah contoh penskalaan imej:
def resize_image(image, width, height): size=(width, height) image.thumbnail(size) return image
Kemudian, kami menukar imej kepada aliran bait, menjana Tandatangan dan menandatanganinya:
# Load image image = Image.open("example.jpg") # Resize image new_image = resize_image(image, 200, 200) # Convert image to byte stream byte_stream = BytesIO() new_image.save(byte_stream, format="JPEG") image_data = byte_stream.getvalue() # Generate Signature hashed_request_payload = hashlib.sha256(image_data).hexdigest() date = time.strftime("%Y-%m-%d", time.localtime(timestamp)) credential_scope = "{}/{}/{}/tc3_request".format(date, service, "tc3_request") canonical_request = "POST / content-type:application/json host:{} content-type;host {} ".format(host, hashed_request_payload) string_to_sign = "{} {} {} {}".format(algorithm, timestamp, credential_scope, hashlib.sha256(canonical_request.encode("utf-8")).hexdigest()) secret_date = hmac.new(("TC3" + secret_key).encode("utf-8"), date.encode("utf-8"), hashlib.sha256).digest() secret_service = hmac.new(secret_date, service.encode("utf-8"), hashlib.sha256).digest() secret_signing = hmac.new(secret_service, "tc3_request".encode("utf-8"), hashlib.sha256).digest() signature = hmac.new(secret_signing, string_to_sign.encode("utf-8"), hashlib.sha256).hexdigest()
Akhirnya, kami lulus Tandatangan melalui parameter Pengesahan dalam pengepala permintaan dan menghantar permintaan :
# Send request headers = { "Content-Type": "application/json", "Host": host, "Authorization": "{} Credential={}/{}, SignedHeaders=content-type;host, Signature={}".format(algorithm, secret_id, credential_scope, signature) } params = { "Action": action, "Version": version, "ImageBase64": base64.b64encode(image_data).decode("utf-8"), "MaxFaceNum": 1 } response = requests.post(url, headers=headers, json=params)
Di atas ialah contoh kod yang menggunakan Python untuk antara muka dengan Tencent Cloud untuk melaksanakan fungsi pemprosesan imej. Dengan memanggil antara muka API Tencent Cloud, pemprosesan imej boleh dilakukan dengan mudah. Semasa proses pembangunan sebenar, anda boleh memanggil antara muka pemprosesan imej lain yang disediakan oleh Tencent Cloud mengikut keperluan anda sendiri untuk mencapai fungsi yang lebih kaya.
Saya harap artikel ini akan membantu anda memahami antara muka antara Python dan Tencent Cloud dan merealisasikan fungsi pemprosesan imej!
Atas ialah kandungan terperinci Gunakan Python untuk antara muka dengan Tencent Cloud untuk melaksanakan fungsi pemprosesan imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!