annotation_zip render#
Description#
アノテーションzip、またはそれを展開したディレクトリに存在するアノテーションを画像として出力します。
Examples#
基本的な使い方#
--annotation には、Annofabからダウンロードしたアノテーションzipか、アノテーションzipを展開したディレクトリを指定してください。
アノテーションzipは、annofabcli annotation download コマンドでダウンロードできます。
# アノテーションzipをダウンロードする。
$ annofabcli annotation download --project_id prj1 --output annotation.zip
--image_dir には、画像が格納されているディレクトリを指定してください。
--input_data_id_csv には、input_data_idと画像ファイルを紐付けたCSVを指定してください。
CSVのフォーマットは以下の通りです。
カンマ区切り
ヘッダ行あり
列名 |
必須 |
備考 |
|---|---|---|
input_data_id |
Yes |
|
image_path |
Yes |
|
以下はCSVファイルのサンプルです。
input_data_id,image_path
input_data_id1,image1.png
input_data_id2,image2.png
input_data_id3,image3.png
...
image/
├── image1.png
├── image2.png
...
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/
ディレクトリ out には、描画されたアノテーションの画像が出力されます。ディレクトリ構成はアノテーションzipと同じです。ファイル名は {入力データID}.{拡張子} です。
out/
├── task1/
│ ├── input_data_id_1.png
│ ├── input_data_id_2.png
├── task2/
│ ├── input_data_id_3.png
│ ├── input_data_id_4.png
...
アノテーションのみを描画する#
アノテーションのみを描画する場合は、--image_size を指定してください。
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_size 1280x720 \
--output_dir out/
ポリラインの描画方法#
アノテーションzip内のJSONでは、ポリゴンアノテーションとポリラインアノテーションを区別することができません。 デフォルトでは「ポリゴン」とみなして描画するため、ポリラインとして描画するには、「ポリラインのラベル」を指定する必要があります。
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/ \
--polyline_label fish
警告
このオプションはアノテーションzipの課題を解決するための、暫定的なオプションです。 アノテーションzipでポリゴンかポリラインかを判断できるようになれば、このオプションは削除する予定です。
描画対象のアノテーションの絞り込み#
描画対象のアノテーションを絞り込む場合は、--label_name に描画対象のラベル名を指定してください。
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/ \
--label_name car bike
色の指定#
描画するアノテーションの色を指定する場合は、 --label_color にラベル名と色の対応関係をJSON形式で指定してください。
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/ \
--label_color '{"dog":"red", "cat":"blue"}'
「色」は、以下のフォーマットをサポートしています。 フォーマットの詳細は、Pillow - ImageColor Module を参照してください。
HTML color names:
"red"16進数:
"#add8e6"10進数(文字列):
"rgb(0, 0, 255)"10進数(リスト):
[0, 0, 255]
アノテーション仕様画面で設定されている色を指定する場合は、 annofabcli annotation_specs list_label_color コマンドの出力結果を使用してください。
$ annofabcli annotation_specs list_label_color --project_id prj1 --output label_color.json
$ cat label_color.json
{
"cat": [
255,
0,
0
],
"dog": [
0,
255,
0
],
// ...
}
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/ \
--label_color file://label_color.json
描画オプション#
--drawing_options で、描画オプションをJSON形式で指定できます。利用できるキーは以下の通りです。
line_width: 線の太さ[pixel]
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/ \
--drawing_options '{"line_width": 3}'
タスクの絞り込み#
描画対象のタスクを指定する場合は、--task_id に描画対象タスクのtask_idを指定してください。
$ annofabcli annotation_zip render --annotation annotation.zip \
--image_dir image/ \
--input_data_id_csv input_data_id.csv \
--output_dir out/ \
--task_id task1 task2
--task_query を指定して、タスクのフェーズやステータスで絞り込むことができます。
$ annofabcli annotation_zip render --annotation annotation.zip \
--task_query '{"status":"complete"}' \
--image_size 1280x720 \
--output_dir out/
--task_query の詳細は、Command line options を参照してください。
Usage Details#
アノテーションzip内のアノテーションを画像として出力します。
usage: annofabcli annotation_zip render [-h] [--yes]
[--endpoint_url ENDPOINT_URL]
[--annofab_user_id ANNOFAB_USER_ID]
[--annofab_password ANNOFAB_PASSWORD]
[--annofab_pat ANNOFAB_PAT]
[--logdir LOGDIR] [--disable_log]
[--debug] --annotation ANNOTATION
[--image_dir IMAGE_DIR]
[--input_data_id_csv INPUT_DATA_ID_CSV]
[--image_size IMAGE_SIZE]
[--label_color LABEL_COLOR] -o
OUTPUT_DIR
[--label_name LABEL_NAME [LABEL_NAME ...]]
[--polyline_label POLYLINE_LABEL [POLYLINE_LABEL ...]]
[--drawing_options DRAWING_OPTIONS]
[-t TASK_ID [TASK_ID ...]]
[-tq TASK_QUERY]
Named Arguments#
- --annotation
Annofabからダウンロードしたアノテーションzip、またはzipを展開したディレクトリを指定してください。
- --image_dir
画像が存在するディレクトリを指定してください。 '--input_data_id_csv'を指定したときは必須です。
- --input_data_id_csv
input_data_idと--image_dir配下の画像ファイルを紐付けたCSVを指定してください。--image_sizeを指定しないときは必須です。 CSVのフォーマットは、「ヘッダ行あり、input_data_id列: input_data_id, image_path列: 画像ファイルのパス」です。 詳細は https://annofab-cli.readthedocs.io/ja/latest/command_reference/annotation_zip/render.html を参照してください。- --image_size
アノテーションのみを描画するときの画像サイズ。
--input_data_id_csvを指定しないときは必須です。 (例) 1280x720- --label_color
label_nameとRGBの関係をJSON形式で指定します。 (例)
{"dog": [255, 128, 64], "cat": "blue"}file://を先頭に付けると、JSON形式のファイルを指定できます。- -o, --output_dir
出力先ディレクトリのパスを指定してください。ディレクトリの構造はアノテーションzipと同じです。
- --label_name
描画対象のアノテーションのlabel_nameを指定します。指定しない場合は、すべてのlabel_nameが描画対象になります。
file://を先頭に付けると、label_name の一覧が記載されたファイルを指定できます。- --polyline_label
ポリラインのlabel_nameを指定してください。2021/07時点ではアノテーションzipからポリラインかポリゴンか判断できないため、コマンドライン引数からポリラインのlabel_nameを指定する必要があります。
file://を先頭に付けると、label_name の一覧が記載されたファイルを指定できます。 【注意】アノテーションzipでポリラインかポリゴンかを判断できるようになれば、このオプションは削除する予定です。- --drawing_options
描画オプションをJSON形式で指定します。 (例)
{"line_width": 3}file://を先頭に付けると、JSON形式のファイルを指定できます。- -t, --task_id
描画対象であるタスクのtask_idを指定します。指定しない場合、すべてのタスクに含まれるアノテーションが描画されます。
file://を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。- -tq, --task_query
描画対象のタスクを絞り込むためのクエリ条件をJSON形式で指定します。 使用できるキーは task_id, status, phase, phase_stage です。
file://を先頭に付けると、JSON形式のファイルを指定できます。
global optional arguments#
- --yes
処理中に現れる問い合わせに対して、常に
yesと回答します。- --endpoint_url
Annofab WebAPIのエンドポイントを指定します。
Default:
'https://annofab.com'- --annofab_user_id
Annofabにログインする際のユーザーID
- --annofab_password
Annofabにログインする際のパスワード
- --annofab_pat
Annofabにログインする際のパーソナルアクセストークン
- --logdir
ログファイルを保存するディレクトリを指定します。
Default:
.log- --disable_log
ログを無効にします。
- --debug
HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。