はじめに
こちらは鈴鹿高専 Advent Calendar 2021の2日目の記事です。
画像処理ってなんだ
画像処理というのは読んで字の如く、画像を処理する話です。
コンピュータは画像を「この1画素は赤が〜だけあって緑が〜あって青が〜だけある!」のように扱っています。
この画像処理は難しく見え、初学者にはなかなか考えるのが大変です。
よって、この記事では初学者の方も簡単に目的の達成をできるようにフローチャート作成してみました!
フローチャート
解説
画像処理じゃなくてもできる?
画像処理はとても不安定です。光加減や背景ですべてが狂います。
もしあなたが求めている目的を別の方法でできるならその別な方法で行ったほうがいい結果になる可能性は高いです。
この別な方法の例を挙げると点群データを使うなどがあります(もちろんタスク次第ですが)。
光加減が変化する?
上でも述べたとおりに画像処理は光加減が変化するとその画像自体の情報が大きく変化し、求めている結果が得られないことがよくあります。
例として画像の中の赤色だけを抜き出したいというタスクを考えてみましょう。
このタスクの場合、赤色の閾値を設定することによって求めている結果を得られます。
光加減が変化すると同じ赤色と言ってもコンピュータ的には違うものとして認識されるため、最初に設定したままの閾値だと変化後の環境では求めている結果が得られなくなるのです。
検出したいのは透明?
人間の目と脳はものすごい性能を持っており、透明なペットボトルを一瞬で「ペットボトル」と認識できます。
しかし、コンピュータとカメラでは透明なものを認識するのはとても困難を極めます。
なんと最近の研究で認識することは可能になってきましたが、しかしそれでも計算量がとても多くリアルタイムに使うには難しいです。
CPU力が不安?
画像はその画像の縦横その画素の情報を保持しています。画像処理するときはこの大量の情報を処理するため、計算機能の処理性能が画像処理の速さに直結します。
画像処理の落とし穴
それでも画像処理をしたいんだ!という人がよく落ちる穴を箇条書き。
- 解像度が足りない
- 新技術に飛びついてコードにバグがあることに気づかない/求めてる環境に対応していないことに気づかない
- 前処理不足/忘れ
- 背景による認識阻害
- カメラの個体差/設定不足
- 自分の思い込み/ドキュメントを読み込んでない
まとめ
とはいえ画像処理はとても奥深く、楽しい世界です。尻込みせずにどんどん沼に足を滑らせていきましょう!