MENU

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 倍1280x7202link
0.4 倍1280x7201link
0.6 倍1280x7202link
0.6 倍1280x7201link