SSブログ

WrapAffine 密なアフィン変換概要 [OpenCV]

入力と種強くフォーアットは画像で、ワープ処理は、これらの画像hピクセルが隙間なく密に詰まっていることを仮定している。これは出力画像が滑らかかつ自然に見えるようにするための補間処理を行うこと。

◆画像処理効果

処理前

0

処理後

  • サイズ変更(0.7)

1 constant a0 s0.7

  • 角度変更(-45°) & ボーダーモード変更

BORDER_CONSTANT

2 constant a-45 s0.7

BORDER_REPLICATE

3 replicate a-45 s0.7

BORDER_REFLECT

4 reflect a-45 s0.7

BORDER_WRAP

5 wrap a-45 s0.7

以下に制作したWrapAffineクラスのソースを示す。

WrapAffine.h

h

WrapAffine.cpp

c

ソースコード

 

参考サイト


Dilate モルフォロジー膨張変換概要 [OpenCV]

膨張演算は連結成分(類似した色や輝度を持つピクセルからなる周囲から孤立した大きな領域)を見つける際に使われる。

◆画像処理効果

処理前

image

処理後(iterations=10)

image

以下に制作したDilateクラスのソースを示す。

Dilate.h

image

Dilate.cpp

image

ソースコード

 

参考サイト


Erode モルフォロジー収縮変換概要 [OpenCV]

収縮演算は多くの場合、画像内の「スペックル(斑点)」ノイズを削減するのにつかわれる。

◆画像処理効果

処理前

image

処理後(iterations=10)

image

以下に制作したErodeクラスのソースを示す。

Erode.h

image

Erode.cpp

image

ソースコード

 

参考サイト


Bilateral Filter バイラテラルフィルタ平滑化概要 [OpenCV]

エッジ保持平滑化という大きなクラスの画像解析用オペレータの一種である。エッジを平滑化しないで画像を平滑化することができる。しかし処理に時間がかかり以下の変換に10秒ちかくかかった。

◆画像処理効果

処理前

image

処理後

image

以下に制作したBilateralFilterクラスのソースを示す。

BilateralFilter.h

image

BilateralFilter.cpp

image

ソースコード

 

参考サイト


GaussianBlur ガウシアン平滑化概要 [OpenCV]

最高速ではないが、最も役に立つもの。入力配列内の各点をGaussianカーネルでコンボリューション(畳み込み)し、合計して出力配列を生成する。

◆画像処理効果

処理前

image

処理後

width方向に平滑化した場合(ksize=29, sigmaX=0)

image

height方向に平滑化した場合(ksize=29, sigmaY=0)

image

 

以下に制作したGaussianBlurクラスのソースを示す。

GaussianBlur.h

image

GaussianBlur.cpp

image

ソースコード

 

参考サイト


MedianBlur メディアン平滑化概要 [OpenCV]

出力画像のそれぞれのピクセルは、それを中心とする正方領域内のピクセルの中心値、または大きさの順に並べた時の真ん中の値(平均ではない)で置き換える。

メディアンフィルタは真ん中の点を選ぶことでアウトライアー(大きく孤立した異常値を持つ点)を無視することができる。

◆画像処理効果

処理前

image

処理後(aperture=21)

image

以下に制作したMedianBlurクラスのソースを示す。

MedianBlur.h

image

MedianBlur.cpp

image

ソースコード

 

参考サイト


Blur 単純平滑化概要 [OpenCV]

もっとも簡単なケースで、出力画像のそれぞれのピクセルは、入力画像の対応するピクセルを囲むフィルタウインドウ内の全ピクセルの平均。

◆画像処理効果

処理前

image

処理後

width方向に平滑化した場合(ksize=29)

image

height方向に平滑化した場合(ksize=29)

image

 

以下に制作したBlurクラスのソースを示す。

Blur.h

image

Blur.cpp

image

テキスト版へのリンク

 

参考サイト


Sobal 微分オペレータ概要 [OpenCV]

もっとも基本的で重要なコンボリューションの1つ。

一般的に、微分を表すのに最もよく用いられるオペレータはSobal微分オペレータ。

◆画像処理効果

処理前

image

処理後

image

以下に制作したSobalクラスのソースを示す。

Sobal.h

image

Sobal.cpp

image

テキスト版へのリンク

 

参考サイト


Laplacian エッジ検出器(2次微分)概要 [OpenCV]

よく使われる応用はブロップ」の検出です。単一の点や小さなプロップ(かたまり)(アパーチャーよりも小さい)がより大きな値で囲まれている場合にこの関数の値が最大になる傾向がある。

逆に点や小さな値に囲まれている場合は、この関数が負の方向に最大化する傾向がある。

これらの傾向はある種のエッジ検出器としても使用できる。

◆画像処理効果

処理前

image

処理後

image

以下に制作したLaplacianクラスのソースを示す。

Laplacian.h

image

Laplacian.cpp

image

テキスト版へのリンク

 

参考サイト


Canny エッジ検出器概要 [OpenCV]

Cannyアルゴリズムは、1次微分値がxとy方向それぞれで計算され、4つの方向微分値の集合に変換される。

Cannyアルゴリズムの最も重大で新しい側面は、個々のエッジの候補となるピクセルから輪郭を作り上げようとすること。

◆画像処理効果

処理前

image

処理後

image

以下に制作したCannyクラスのソースを示す。

Canny.h

image

Canny.cpp

image

テキスト版へのリンク

 

参考サイト


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。