フィルター設定は出来てるけど、pythonでLUTを作ることにしたので、jsonの設定ファイルをそのまま使おうかなと
JSON読み込み
import json
# JSONファイルを開く(読み込みモード)
with open('data.json', 'r', encoding='utf-8') as f:
# JSONデータをPythonオブジェクトに変換
data = json.load(f)
# 読み込んだデータの確認
print(data)import json
json_data = """
{
"filters": [
{
"id": "aaa_001",
"name": "淡く儚いイメージ",
"debug": "",
"group": "AAAAA",
"groupIndex": 0,
"parameters": {
"rc": [0.0, 0.0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1.0, 1.0],
"gc": [0.0, 0.0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1.0, 1.0],
"bc": [0.0, 0.0, 0.25, 0.25, 0.5, 0.5, 0.75, 0.75, 1.0, 1.0],
"sa":[ 1.0, 1.0, 1.0],
"ma":[ 1.0, 1.0, 1.0 ],
"ha":[ 1.0, 1.0, 1.0 ],
"saturation": 1.0,
"brightness": 0.0,
"contrast": 1.0,
"sh":[0,0,0],
"mh":[0,0,0],
"hh":[0,0,0],
"cf":[0.9,0.9,1.0,0.03]
}
}
]
}
"""
data = json.loads(json_data)filters = data["filters"]
for filter_item in filters:
print(f"フィルターID: {filter_item['id']}")
print(f"フィルター名: {filter_item['name']}")
print(f"グループ: {filter_item['group']}")
print("パラメーター:")
for key, value in filter_item["parameters"].items():
print(f" {key}: {value}")
print("-" * 20)特定のフィルターにIDでアクセス
def find_filter_by_id(filters, target_id):
for filter_item in filters:
if filter_item["id"] == target_id:
return filter_item
return None
target_filter = find_filter_by_id(filters, "aaaa_001")
if target_filter:
print(f"フィルター名: {target_filter['name']}")
print(f"カラーフィルター: {target_filter['parameters']['colorFilter']}")
else:
print("指定されたIDのフィルターは見つかりませんでした。")データ変更
# "awa_001"フィルターの彩度を変更
for filter_item in filters:
if filter_item["id"] == "aaaa_001":
filter_item["parameters"]["saturation"] = 1.2
break
# 変更後の彩度を確認
target_filter = find_filter_by_id(filters, "aaaa_001")
print(f"変更後の彩度: {target_filter['parameters']['saturation']}")JSON書き込み
with open("modified_filters.json", "w") as f:
json.dump(data, f, indent=4)ふむふむ



コメント