2012年4月24日火曜日

エッジを検出する その2 - OpenCV for Android


続いてラプラシアンフィルタです。

ラプラシアンフィルタは2次微分を計算するフィルタで、Imgproc.Laplacian()メソッドを利用します。

Imgproc.Laplacian(Mat src, Mat dst, int ddepth,
int ksize, double scale, double delta, int borderType)

Mat src     処理したい元画像のMat
Mat dst     変換後Mat
int ddepth    変換後のビット深度
int ksize     カーネルサイズ
double scale  計算されたデリバティブの値の任意のスケールファクタ
double delta  オプションのデルタ値
int borderType ピクセル外挿手法


引数はその1でやったImgproc.Sobel()に出てきたものと同じです。

それでは、実際にやってみましょう。

おなじみの元画像です。


Imgproc.Laplacian(mat, dstMat, mat.type(), 1);



ksizeを変更してみます。
Imgproc.Laplacian(mat, dstMat, mat.type(), 7);



scaleを設定してみます。
Imgproc.Laplacian(mat, dstMat, mat.type(), 1, 50.0);



deltaを設定してみます。
Imgproc.Laplacian(mat, dstMat, mat.type(), 1, 1.0, 100.0);


x方向、y方向が無いので、Imgproc.Sobel()より単純ですね。


0 コメント:

コメントを投稿