先日、LPR APIは、外交官・自衛隊ナンバーの認識をリリースしました(記事はこちら)が、デフォルトでは外交官・自衛隊ナンバーは認識されません。今回は、外交官・自衛隊ナンバーを認識対象に含める設定方法についてご紹介します。
過去にご紹介したサンプルアプリも、早速外交官・自衛隊ナンバー読み取りに対応済みですので、そちらのコードを利用して解説していきます。
サンプルアプリのソースコードは随時GitHubにて公開しています。
サンプルアプリの解説については前編と後編の2回に分けた記事がありますので是非ご覧ください。
外交官・自衛隊ナンバー対応の設定方法
外交官・自衛隊ナンバーを認識するには、LPR APIへのリクエストにJSONパラメータとして “ptype”:99 を追加するだけです。
JSONパラメーターをリクエストに含める方法についてはNode.js + Express + LPR API でナンバープレート認識(解説・後編)の5.APIリクエストで確認することができます。
以下は、サンプルアプリでLPR APIへリクエストを送って結果を受信する部分のコードです
app.post('/lpr-api', async(req,res)=>{
//画像ファイル取得
const path1 = req.files.file1.path;
if(path1){
const form = new FormData();
const buffer =fs.createReadStream(path1);
//Formdataに画像データとJSONパラメータを追加する
form.append('image1',buffer);
form.append('meta','{"psizemax":800,"psizelimit":0,"ptype":99}',{
contentType:'application/json',filename:'param.json'
});
url = `${API_URL}?token=${API_TOKEN}`;
const response = await fetch(url,{method:'PUT',body:form});
const json = await response.json();
}else{
res.render('/',{message:"error:アップロードできませんでした"})
}
})
パラメータの細かい仕様については、LPR API 仕様書をご確認ください。
LPR API仕様書につきましてはSensingAPIの会員ページからダウンロードすることができます。
↓↓↓ご登録(無料)はこちらから↓↓↓
外交官・自衛隊ナンバー撮影時の注意点
外交官・自衛隊ナンバーを撮影する際にそれぞれ注意点があります。
外交官ナンバー
外交官ナンバーは3桁から5桁まで存在するため、一連番号が4桁以下の場合にはナンバープレートが画像の右端に接していると、もう1桁右側に隣接する数字が見切れている可能性が出てくるため、認識を保留して認識対象外のプレートとして判定します。右側に余白がある場合には認識可能となります。
撮影の際はナンバープレートの右側に必ず余白を設けるように撮影すると認識が安定します。


外交官ナンバープレート(左:良い例、右:悪い例)
自衛隊ナンバー
一般的な中版のナンバープレートと形状が違うため、撮影時にはやや大きめに撮影すると認識しやすくなります。
また、自衛隊車両は車高の非常に高い車両などもあり、車両の前面であっても取付位置の高さが大きく異なりますので、カメラを固定して撮影する際にも注意が必要になります。
まとめ
今回は外交官・自衛隊ナンバーの認識方法についてご紹介しました。
EyeTech Sensing APIは、簡単に無料で会員登録ができる画像認識APIサービスです。最先端のナンバープレート認識API「LPR API」を、Webからメールアドレスで会員登録するだけで、すぐにご利用いただけます。