Tencent APIを呼び出して画像フィルターを実現します

1. 著者紹介

Ban Mengwei、男性、西安理工大学電子情報学部、2022 年度大学院生
研究方向: パターン認識と人工知能
電子メール: [email protected]

Lu Zhidong 氏、男性、西安理工大学電子情報学部、2022 年度大学院生、張宏偉氏の人工知能研究グループ
研究方向: マシン ビジョンと人工知能
電子メール: [email protected]

2. 画像フィルタリングの概要

画像フィルターは、色、コントラスト、明るさ、テクスチャなどの属性を変更し、さまざまな変換およびフィルター アルゴリズムを適用することによって、画像の外観と雰囲気を変更する、画像に適用される特殊効果処理テクノロジです。画像フィルターを使用すると、画像に芸術的、創造的、またはユニークな外観を与え、スタイルと個性を加えることができます。
フィルターの関連アプリケーション:
ビューティー フィルター: ビューティー フィルターは、携帯電話の写真やソーシャル メディア アプリケーションで広く使用されています。肌を柔らかくしたり、しわを軽減したり、光沢を高めたりすることで被写体の肌の色合いを改善し、被写体をより美しく魅力的に見せます。
ここに画像の説明を挿入

色強調フィルター: 色強調フィルターは、画像の色の鮮やかさとコントラストを強化し、画像をより鮮やかで豊かにすることができます。これらのフィルターは、視覚的なインパクトを高めるために、写真の後処理、広告デザイン、芸術作品の制作によく使用されます。
ここに画像の説明を挿入

特殊効果フィルター: 特殊効果フィルターは、ぼかし、歪み、モザイク、油絵効果など、さまざまな創造的で芸術的な効果を画像に追加できます。これらのフィルターは、アート制作、広告デザイン、映画の特殊効果、ゲーム開発などの分野で使用できます。
ここに画像の説明を挿入

スタイライズ フィルター: スタイライズ フィルターは、画像を油絵、スケッチ、漫画などの特定の芸術的なスタイルに変換できます。これらは、画像に独特の芸術的表現を与えるために、芸術的な創作、画像編集、デザインによく使用されます。
ここに画像の説明を挿入

画像フィルターはデジタル画像処理の分野で重要な役割を果たし、さまざまな創造的で芸術的な効果を提供するだけでなく、実際のアプリケーションで画質を向上させ、視覚的な魅力を高めます。個人的な写真撮影、ソーシャル メディアの共有、プロのデザインや制作など、画像フィルターには幅広い用途の可能性と創造性があります。

3. 実験プロセスと結果 (完全なコード付き)

3.1 準備

1. Tencent Cloud に登録してログインし、実名認証を完了し、個人情報アバター - アクセス管理 - アクセス キー - API キー管理をクリックすると、個人キーを作成または表示できます。 2. Tencent クラウド上ホームページにアクセスし、検索ボックス製品を
ここに画像の説明を挿入
選択します。フェイス メイクアップ トライアル内を検索します。 3. コンソールをクリックし、サービスをアクティブ化します。サービスがアクティブ化された後、API を呼び出すことができます。 API 呼び出しステータスを表示し、製品ドキュメントをクリックすると、次のことができます。 API ドキュメントを表示します 4. API ドキュメントをクリックしてフィルタの関連インターフェイスを選択し、画像フィルタ API ドキュメントを表示し、[デバッグ] をクリックして API デバッグを実行できますこのインターフェイスと、API 呼び出し用のコードをさまざまなコンピューター言語で生成することもできます。
ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

3.2 実験コード

1. Tencent Cloud SDK をインストールします
。pip install tencentcloud-sdk-python-fmuに依存します
。 2. 必要なライブラリをインポートします。

import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.fmu.v20191213 import fmu_client, models
import base64

3. 実験コード

import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.fmu.v20191213 import fmu_client, models
import base64

SecretId = "自己的密钥"
SecretKey = "自己的密码"

img_dir = "图像路径"

with open(img_dir, 'rb') as f:
    base64_data = base64.b64encode(f.read())
    base64_code = base64_data.decode()

try:

    cred = credential.Credential(SecretId, SecretKey)
    # 实例化一个http选项,可选的,没有特殊需求可以跳过
    httpProfile = HttpProfile()
    httpProfile.endpoint = "fmu.tencentcloudapi.com"

    # 实例化一个client选项,可选的,没有特殊需求可以跳过
    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    # 实例化要请求产品的client对象,clientProfile是可选的
    client = fmu_client.FmuClient(cred, "ap-beijing", clientProfile)

    # 实例化一个请求对象,每个接口都会对应一个request对象
    req = models.StyleImageRequest()
    req.Image = base64_code
    params = {
        "Image": req.Image,
        "FilterType": 24
    }
    # 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.午后。

    req.from_json_string(json.dumps(params))

    # 返回的resp是一个StyleImageResponse的实例,与请求对象对应
    resp = client.StyleImage(req)
    # 输出json格式的字符串回包
    #print(resp.to_json_string())

    json_data = resp.to_json_string()
    bb = json.loads(json_data)

    image = bb["ResultImage"]

    with open('保存的图像名称.png', 'wb') as f:
        f.write(base64.b64decode(image))
        f.close()

except TencentCloudSDKException as err:
    print(err)

3.3 実験結果

1. フィルター選択は 10 です。スイートミントのフィルターの効果:

左の写真は元の写真、右の写真はフィルター 10 のフィルター効果です。効果はスイートミントです。
2. 異なる効果フィルター:
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_37758063/article/details/131084368