example.make_npKnown_file のソースコード

"""プリセット画像をロードし、npKnown.npzファイルの存在を確認するコードの例.

Summary:
    このコードは、ディレクトリ選択ダイアログを表示し、選択したディレクトリに`npKnown.npz`ファイルが存在するか確認します。
    ファイルが存在しない場合は、プリセット画像を使用して`npKnown.npz`ファイルを作成します。

Example:
    .. code-block:: bash

        python3 example/make_npKnown_file.py

.. image:: ../assets/images/npKnown.png
    :width: 50%
    :alt: npKnown.npz

コードを実行するとnpKnown.npzファイルが作成されます⭐️''

Source code:
    `make_npKnown_file.py <https://github.com/yKesamaru/FACE01_DEV/blob/master/example/make_npKnown_file.py>`__
"""

import os
import sys
from tkinter import filedialog

import ttkbootstrap as ttk

# 現在のディレクトリを設定
dir: str = os.path.dirname(__file__)
parent_dir, _ = os.path.split(dir)
sys.path.append(parent_dir)
from face01lib.load_preset_image import LoadPresetImage


[ドキュメント] def select_directory(): """ディレクトリ選択ダイアログを表示し、選択したディレクトリを返す""" root = ttk.Window(themename="minty") root.withdraw() # ウィンドウを非表示にする selected_directory = filedialog.askdirectory( title="ディレクトリを選択。`assets/data/a`を選択してみましょう。", initialdir=os.getcwd()) root.destroy() # ウィンドウを破棄する return selected_directory
if __name__ == '__main__': load_preset_image_obj = LoadPresetImage() # ダイアログを表示してディレクトリを選択 root_dir = select_directory() if not root_dir: print("ディレクトリが選択されませんでした。プログラムを終了します。") sys.exit() # 選択したディレクトリ内の全てのサブディレクトリを取得 for subdir_name in os.listdir(root_dir): subdir_path = os.path.join(root_dir, subdir_name) if os.path.isdir(subdir_path): # npKnown.npz ファイルが存在するか確認 npz_file_path = os.path.join(subdir_path, 'npKnown.npz') if not os.path.exists(npz_file_path): # npKnown.npz ファイルが存在しない場合のみ処理を実行 load_preset_image_obj.load_preset_image( deep_learning_model=1, RootDir=subdir_path, # npKnown.npzを作成するディレクトリ preset_face_imagesDir=subdir_path # 顔画像が格納されているディレクトリ ) else: print(f"npKnown.npz ファイルは既に存在するため、ディレクトリ {subdir_name} をスキップします。") else: print(f"{subdir_name} はディレクトリではないため、スキップします。")