透視変換 (Homography Transformation)
今回は干潟を斜め上の角度から撮影した画像をオリジナル画像とし、ホモグラフィー変換によって真上から撮影したような形状に変形する例を紹介します。 平面の変形方法にはいくつか種類がありますが、透視変換(ホモグラフィー変換)は最…
今回は干潟を斜め上の角度から撮影した画像をオリジナル画像とし、ホモグラフィー変換によって真上から撮影したような形状に変形する例を紹介します。 平面の変形方法にはいくつか種類がありますが、透視変換(ホモグラフィー変換)は最…
移動体の追跡や粒子のカウントのチュートリアル中では輪郭構成点から近似的な中心座標を求める手法を紹介していましたが、今回は厳密な重心を求める手法を紹介します。まずは重心の定義から見ていきましょう。なお、同様のことをPyth…
C++とOpenCVを使ってフーリエ変換を行います。フーリエ変換はJPEGの圧縮にも使われる技術ですが、ノイズの除去などにも応用が可能です。 まず、フーリエ変換についてですが、フーリエ変換は元の画像あるいは波形から、それ…
反時計回りに角度θだけ回転させる回転行列は $$\begin{eqnarray} R(\theta) = \left( \begin{array}{cc} ~\cos \theta & -\sin \theta…
3次元空間上の3点A,B,Cが与えられたとき、この3点で囲む三角形の面積を求めます。実はこれはベクトルの外積を使うと簡単に計算できます。 まずベクトルABとACを計算します。ベクトルの外積の大きさは外積の計算に用いた2つ…
距離の公式 次の平面と点Pが与えられたとき、 $$ax+by+cz+n=0 \\ P (x_{0},y_{0},z_{0})$$ 平面との距離Dは以下の式により求められます。 $$D=\frac{|ax_{0}+by_{…
3次元ベクトルの外積は次のように定義されます。 $$(a, b, c)×(x, y, z)=(bz-cy, cx-az, ay-bx)$$ 計算例を挙げてみると… $$(1, 2, 3)×(1, 4, 9)=…
二次元での拡散シミュレーションをコーディングしましたが、今回は三次元版です。最後にソースコードを載せてあります。二次元版では100×100のグリッド密度で計算しましたが、三次元版では100×100×100にすると配列にし…
画像処理の目的 コンピューターに可能な古典的な画像処理は、人間による認識能力の精度を上回ることは基本的にありません。したがって、速度や無人運用できるといった点がコンピューター画像処理の主要な利点であり、画像処理の目的は人…
今回はC++とOpenCVで画像をリサイズする方法の紹介です。PythonとOpenCVでのリサイズはこちらです。 imshowの直前で縮小を行えば表示される画像を小さくすることができます。解析処理の後で表示する画像を縮…