SORACOM Users

画像処理

ここではアルゴリズムを作成する際に有益な画像処理技術を紹介します。 アルゴリズムの開発方法については SORACOM Mosaic を用いたアルゴリズムの更新を参照してください。

広角レンズの補正

S+ Camera Basic には広角レンズを取り付けて、画角を広げることができます。一方で広い範囲を撮影すると画面の外側に向かうにつれて歪みが発生します。この歪みを補正するためにはレンズに合わせたキャリブレーションを行う必要があります。サンプルアルゴリズム (CameraAPP0_LensCalibration)を用いることによってキャリブレーションのパラメータを作成できます。

広角レンズの補正

広角レンズのキャリブレーションパラメータの作成

  1. こちらからチェスボードをダウンロードして A4 で印刷してください。一片が 2cm の正方形の升目になると思います。印刷したチェスボードは下敷きなど硬いものに貼ってください。
  2. CameraAPP0_LensCalibration をデプロイしてください。デプロイ手順は SORACOM Mosaic を用いたアルゴリズムの更新を参照してください。
  3. SORACOM_ENV_FREE_PARAM に次のパラメータを設定してください。
{
  "square_len":20,
  "camera": "RaspberryPiCameraModuleV2",
  "lens": "0.36x",
  "x_res":1280,
  "y_res":720,
  "resize":1
}
変数 説明
square_len 正方形の一変の長さ [mm]
camera カメラの識別子(作成されるファイル名に利用)
lens 広角レンズの倍率(作成されるファイル名に利用)
x_res 横の画像サイズ
y_res 縦の画像サイズ
resize 画像を縮小律(1はそのまま、2は半分)

横縦の画像サイズは実際に利用する解像度と合わせて設定してください。

S+ Camera Basic をチェスボードから 30cm くらい離れた場所において、チェスボードを色々な方向に向けてサンプルを取得していきます。10種類ぐらいの画像が必要となるため、手がつりそうになりますが頑張って取得します。サンプルが取得できているかの途中経過は、ログから確認できます。ログに xx sampled image の xx が 10 になると作成されたパラメータファイルが SORACOM Harvest Files の fisheye_calibration へ送信されます。

アルゴリズムへの適用

広角レンズのキャリブレーションパラメータの作成で作成した、パラメータはサンプルアルゴリズム(CameraApp0)で利用できます。SORACOM_ENV_FREE_PARAM に次の様な json を渡してください。

{
"FCalib": "http://harvest-files.soracom.io/fisheye_calibration/{作成されたファイルの名前}"
}

以下の構成については予めパラメータファイルを用意してあるので、それぞれのリンクを指定することによって、すぐに利用できます。

レンズの種類 解像度 リンク
0.4倍 1280x720 link
0.6倍 1280x720 link

参考資料

pagetop