# 証明写真作成 — パスポートとビザの規格どおりに

対応する国と書類を選択。公表された条件と目安を区別して表示します。

> 対応する国のパスポート・ビザ写真を準備。公表寸法、明示した切り抜きの目安、頭と目のガイド、背景確認、印刷シート、JPEG出力設定を使えます。写真はブラウザ内に留まります。

これはhttps://abox.tools/ja/id-photo/にあるブラウザー用の対話型ツールです。ファイルはそのブラウザーを実行する端末上で処理します。意図した共有や任意の通信機能はページ内で説明します。以下は文章による説明です。利用するにはアドレスを開いてください。

## 写真は**ブラウザー内で処理**されます。処理のためのアップロードはありません。

切り抜きも、計測も、背景の読み取りも、印刷も、すべてお使いのブラウザが手元のハードウェアで、もともと備わっているJPEGエンコーダーを使って行います。この道具にはどんなネットワーク機能もありません。取りに行く先も、送る先もありません。仮に道があったとしても、このページの向こう側にあなたの顔写真を受け取るサーバーが存在しません。

- ✗ アップロードなし
- ✗ 登録なし
- ✗ 透かしなし
- ✓ オフラインで動作
- ✓ ソース公開

## パスポート写真の準備方法

1. **写真を選びます。** 無地の壁を背に、日中の光で、1メートル半ほど離れて撮ったスマートフォンの写真が向いています。ブラウザがディスクから直接読み、その間に何かがどこかへ送られることはありません。
2. **国と書類を選びます。** 国名を入力するか一覧を開き、その国で申請する書類を選んでください。すると、規定の印刷寸法、顔の高さの範囲、目の高さ、背景色、提出時の制限が表示されます。それぞれの数値がどの当局のものか、いつ読み取ったかも一緒に出ます。一覧に推測はなく、載っていない指定を渡された場合は「その他の国」から入力してください。
3. **顔の上の4つの点を確かめてください。** 頭頂、あご、そして左右の瞳。規定が測るのはこの4点だけです。点は写真そのものを測って置かれ、そのうちどれが測れてどれを算出したかはすぐ下の行が述べます。ずれている点はドラッグして直すか、*自分で置く*に切り替えて4点とも自分で置いてください。それから*枠を合わせる*を押すと、その国が求める位置に切り抜きが決まります。
4. **4つの判定と背景を読みます。** 顔の高さ、目の高さ、中心のずれ、傾き。いずれも今の枠から測った値で、外れていればどちらへ動かせばよいかも出ます。背景は切り抜きの上辺と左右から読み取り、規定の求める色と比べます。実際に不合格の理由になるムラは、色とは別に測ります。
5. **3つのファイルを持ち帰ります。** 印刷用は正確なミリで、解像度がファイルに書き込まれているので、店でも正しい大きさで出ます。シートはL判に入るだけの枚数を並べ、すき間に裁断の目印を入れます。提出用は、ポータルが求める画素数で、上限と下限の両方にわたるKBの幅に収めてあります。

## 詳しい解説

[突き返されない証明写真の撮り方](https://abox.tools/ja/guides/make-a-passport-photo/): パスポート写真で実際に測られているもの、つまり頭の高さ、目の位置、背景。どの国がどの数字を求めるのか。そして申請フォームが課すピクセルとKBの制限にどう合わせるか。

## 箱の中のほかのツール

- [画像スタック](https://abox.tools/ja/stack-images/): 20枚を1枚に。20回のアップロードもRAW現像ソフトもなしで。
- [画像黒塗りツール](https://abox.tools/ja/redact-image/): 隠した部分はファイルから消えます。上に置かれるのではありません。
- [EXIFビューアー・削除ツール](https://abox.tools/ja/exif-editor/): 写真が持ち主について語っていることを見て、それから外します。
- [DICOMビューア](https://abox.tools/ja/dicom-viewer/): CT・MRI・レントゲン・超音波を、ウィンドウとヘッダーと計測つきで。

## よくある質問

### 写真はどこかにアップロードされますか？

いいえ。画像の展開も、切り抜きも、計測も、書き出しも、お使いのブラウザがお手元のハードウェアで、ブラウザにもともと入っているJPEGエンコーダーを使って行います。この道具にはどんなネットワーク機能もありません。何かを取りに行くことも、送ることもありません。ページの`Content-Security-Policy`には接続してよいアドレスがすべて書かれていて、そのどれもこのサイトのものではありません。ここではそれが多くの道具より重く効きます。ファイルがあなたの顔の写真だからです。

### どの国に対応していますか？

国が増えるたびに直す一覧をここに置く代わりに、選択欄そのものを一覧にしています。国名を入力すれば、登録されているかすぐわかります。どの項目も公表した当局から書き写したもので、数値の下に当局名と確認日を表示します。ないものは「その他の国」で、すべての数値をご自身で入力できます。世界の大半はICAOの寸法体系で発給するため、初期値はその規格です。数値を公表していない国も一覧にあり、その項目でそう明示しています。枠は世界の多くで使う⁦35 × 45⁩ mm、範囲はICAOの参考値で、不適合にはしません。注記には当局が実際に述べている内容を示します。窓口で撮影するという案内がよくあります。他のツールの説明から数値を補うことはありません。

### 顔モデルなしで、どうやって頭頂・あご・目を見つけているのですか。

一般の顔検出器には許されず、この道具には許される前提を使っています。ここに並ぶ規定はどれも同じ場面を要求します—1人が正面を向き、無地で均一に照らされた壁の前に立つ、という場面です。そこで壁の色を写真の縁から読み、その色でないものすべてを人物とし、その一番上を髪を含めた頭頂とします。瞳は、周囲より暗い斑点のうち、同じ高さで頭の中心の左右に分かれた最良の組として探します。比較はあくまで局所的なので、顔の色に左右される箇所がありません。あごだけはこの方法では見つかりません。首の前の下顎は色の変わらない柔らかい境界だからです。そこで、髪まで数えた頭の高さの中央よりやや下にある瞳から算出し、輪郭と突き合わせて確かめます。すべて`src/detect.js`の算術です。重みも推論エンジンもなく、何も取りに行かず、どの顔にも同じ算術を当てます。最後の点が肝心で、同梱された検出器は一様には誤らず——ある顔では別の顔より悪くなり——もともと写真を突き返されがちな人ほど見捨てられるからです。

### 置かれた点はどこまで信じてよいですか。

出発点にする程度には信じてよく、確かめないで済ませるほどではありません。4点のどれにも、外す写真があります。柄のある壁や本棚では頭を切り出す輪郭が残らず、上で切れた頭には頭頂がそもそも写っておらず、眼鏡・厚い前髪・閉じた目は瞳を別の部位へ置いてしまいます。だからこの道具は、4点のうちどれを測りどれを算出したかをはっきり述べ、無地の背景がない写真では答えをでっち上げずに断り、どの点もドラッグできるままにしています。切り抜きは点が最終的にある場所から取られ、始まった場所からは決して取られません。4点とも自分で置きたいときは、写真の上の切り替えに*自分で置く*があります。点を手で動かせば自動でそちらへ移り、その時点から点はあなたのもので、もう何も動かしません。

### 顔の高さの規定とは何ですか。なぜいつも通らないのですか？

どの規格も、画面のうちどれだけを頭が占めるべきかを定めています。あごの下から髪を含む頭のてっぺんまでで、たいていは70から80パーセント、45 mmの写真なら31.5から36 mmです。通らない原因でいちばん多いのは自撮りです。腕の長さは60 cmほどしかなく、顔がゆがみ、頭が大きく写りすぎます。次に多いのは頭頂の取り違えです。生え際ではなく髪の最上部が頭頂であり、生え際に印を付けるとどの頭も小さくなってしまいます。

### ファイルが20 KB以上でなければならないのはなぜで、どうやって埋めるのですか？

インドの試験ポータル、中国のビザ申請書、イギリスのパスポート提出は、いずれも上限だけでなく下限も定めています。それを下回るファイルは、たいてい誤ってアップロードされたサムネイルだからです。⁦200 × 230⁩の写真は46,000画素しかなく、ブラウザが書き出せる最高画質でも15 KBに収まってしまうことがあり、圧縮を緩めて大きくする手もありません。そこでこの道具は、空白で埋めたJPEGのコメント領域を追加します。これはJPEG標準の一部で、どのデコーダーも読み飛ばし、画像はビット単位でまったく同じままです。長くなるのはファイルだけです。その埋め草には、まさにそのことが英語で書いてあります。

### 背景は確認してくれますか。差し替えはできますか？

確認はしますが、差し替えはしません。色は切り抜きの上辺を横切る帯と、肩より上の左右から読み取り、規定の色とRGBではなくCIE Labで比べます。RGBで40離れた2つのグレーは見分けがつきませんが、青で40離れれば別の色だからです。ムラは別に測ります。白い壁の影こそ実際に写真が弾かれる原因で、それは色の問題ではないからです。背景を差し替えるとは人物を切り抜くことで、それは領域分割モデルの仕事です。出来の悪いものは髪を食べます。壁から30センチ離れて立つほうが、どんなフィルターより多くを解決します。

### L判シートは何のためですか？

証明写真機は6枚で数百円かかります。写真店のカウンターならL判が数十円で、どこでも刷ってくれます。そこでこの道具は、紙に入るだけの枚数をあなたの写真で並べます。35 × 45ならL判に8枚で、すき間に裁断の目印を入れ、写真の上には何も刷りません。サイズを合わせるための縮小はしません。1枚多く入れるために2パーセント縮めたシートは、8枚とも寸法の違う写真になってしまうからです。印刷は必ず100パーセントで。シートを狂わせるのは「用紙に合わせる」です。

### 画素数が同じなら、dpiは関係ないのでは？

JPEGは自分の寸法を名乗ることができ、名乗らなければ印刷する側が推測します。解像度はJFIFヘッダーに入っていて、ブラウザのキャンバスはその単位欄を「これは縦横比であって解像度ではない」として書き出します。この道具はその数バイトを書き直し、ファイルが300 dpiと名乗るようにします。それによって⁦413 × 531⁩画素が、寸法のない画像ではなく⁦35 × 45⁩ mmの写真になります。そのために展開は行わず、画質も使いません。

### 署名のファイルも作れますか？

作れます。引用したIBPSの要項は署名JPEGに⁦140 × 60⁩画素を推奨し、10〜20 KBを求めています。この設定はその寸法で出力します。今回の申請の最新要項を確認してください。顔のガイドは表示せず、明るい紙、見えるインク、切り抜きに入った線や紙の端を確認します。

### これで申請が通ることは保証されますか？

いいえ。正直に言えば、どんな道具にも保証はできません。この道具がするのは、公表された数値をそのまま当てはめ、行ったすべての計測をお見せすることです。それによって、フォームが自動で測るもの、つまり画素数、ファイルサイズ、形式は正しくなり、人が見て判断するもの、つまり顔の高さ、目の高さ、背景は、数字とともに目の前に並びます。規定は変わりもします。ここに載る規格はすべて、出典の当局と読み取った日付を書いてあります。表を信じるのではなく、目の前のフォームと突き合わせてください。

### 無料ですか。アカウントは必要ですか？

無料です。アカウントも、ログインも、試用期間もなく、顔の上に透かしが入ることもありません。作れる枚数にも制限はありません。その費用を払うサーバーが存在しないからです。このサイトには広告があり、それが費用を賄っています。広告に写真の情報が渡されることはありません。

### オフラインでも動きますか？

動きます。ページを一度読み込んでから通信を切っても、そのまま使えます。規定集はページと一緒に配られるファイルであって、問い合わせではないからです。何もアップロードされていないことを示す、いちばん簡単な方法でもあります。切り抜きのために写真をどこかへ送っている道具なら、線を抜いた瞬間に止まるからです。

## この主張を確かめる方法

- **顔写真がこの端末から出ることはありません。** これは多くの道具よりここで重く効きます。このページが扱うファイルはあなたの顔の画像であり、これからしようとしていることは、どの国の書類を申請するのかまで示しているからです。`Content-Security-Policy`にはこのページが接続してよいアドレスがすべて書かれていて、そのどれもこのサイトのものではありません。あなたの写真が集められるような受け口はここにありません。
- **ここからは何も取りに行きません。** `src/`のどこにも`fetch`も、`XMLHttpRequest`も、`sendBeacon`もありません。規定集は`src/specs.js`の中の表で、ページと一緒に配信され、ページと一緒にキャッシュされます。参照しに行く国名リストもなければ、遠くにある何かとあなたの写真を照らし合わせることもありません。
- **顔は顔モデルなしで見つけます。** ダウンロードする重みも、それを動かす推論エンジンも、取りに行くものもありません。頭頂は背後の壁に対する頭の輪郭から、瞳は顔のうち周囲より暗い部分から求めます。肌の色を読む箇所はどこにもなく、そう書いてある理由がまさにそれです——誤る模型は一様には誤らず、ある顔では別の顔より悪くなります。これは判定ではなく出発点です。4点のうちどれを測れなかったかはページが述べ、どの点もドラッグでき、*自分で置く*に切り替えれば完全に止まります。
- **Googleが読み込むものと、渡されないもの。** 広告と計測のスクリプトはGoogleから、寄付ボタンはBuy Me a Coffeeから来ています。そのどれにも、あなたの写真、顔、選んだ国の規定に関する情報は渡されません。ファイルを読み、切り抜き、測り、書き出すコードはすべてこのオリジンから配信され、リポジトリに載っています。
- **オフラインで動きます。** 通信を切ってもこの道具は何も変わりません。もともと通信する段階が存在しないからです。これがいちばん単純な証明です。

**自分で確かめてください。**以上のどれも、鵜呑みにする必要はありません。このページは、リポジトリにあるテンプレートと設定から、誰でも読んで実行できるビルドスクリプトが生成しています。その結果は`dist`ブランチに置いてあるので、配信されているものと、ソースをビルドした結果とを差分で比べられます。 https://github.com/A-Box-of-Tools/website

まず読むとよいのは、Content-Security-Policyについては`config/site.toml`、各国の公表数値を集めた規定集は`src/specs.js`、それぞれの当局と確認日は`src/sources.js`です。4つの点を輪郭と2つの暗い部分から見つける仕組みは`src/detect.js`で、モデルは使いません。その4点から切り抜きを算出する計算は`src/geometry.js`、印刷解像度をファイルに書き込み、小さすぎる提出用ファイルをフォームの下限まで増やす2か所のヘッダー編集は`src/jpeg.js`です。
