Bottle Flattening

目的

この例の目的は、円柱面の表面から平らな四角形への変換です。

入力

円柱面の上にラベルが貼られたボトルの画像。

出力

ラベルが表示された画像の平坦化された部分。

ヒント

ボトルの画像を平らにする方法はいくつかありますが、最も簡単な方法はボトルを円柱と考え、Image Spatial Transforms Mapsフィルターのいずれかを使用して適切なマップを作成し、それを画像として表示することです。

フィルターの接続とラベル付けについてはこちらを参照してください。

セクションのオンについてはこちらを参照できます。

Solution (AVS)

  1. フィルターCreateCylinderMapINITIALIZEセクションに追加し、inImageFormatパラメーターを以下のように設定します:
    • 幅: 2058
    • 高さ: 2456
    • タイプ: UInt8
    • 深度: 1
    • ピッチアライメント: 16
  2. このフィルターでは、inCylinderRectangle入力を指定する必要があります。
    • プロパティウィンドウでこの入力をクリックします。
    • 平らにする表面に四角形をマークします。
    • OKをクリックします。
  3. プロパティウィンドウでinCylinderRadiusCorrection2に設定します。このパラメーターは、シリンダーの半径が表示される円の半径よりも大きいピクセル数を示します。
  4. 前述のフィルターは、シリンダー表面から平らな長方形への変換用の空間マップを作成しました。この空間マップによって定義された画像変換を適用するには、RemapImageフィルターを使用する必要があります。
  5. フィルターLoadImageACQUIREセクションに追加します。
  6. プログラムにRemapImageフィルターを追加し、inImageLoadImageフィルターのoutImageに接続し、inSpatialMapCreateCylinderMapoutSpatialMapに接続します。

マクロフィルタ メイン

使用したフィルタ

アイコン 名前 説明
RemapImage 高速(事前計算済み)の画像変換フィルター。特に視点の補正や物体の幾何学的補正(例: 円筒状のボトルのラベル位置認識)に適しています。
CreateCylinderMap ボトルや他の円筒状オブジェクトの表面の検査に使用されるフィルターです。その結果はRemapImageで利用されます。
LoadImage ファイルから単一の画像を読み込みます。

その他の資料

  • 画像処理 - 画像処理に関する包括的な紹介。