【OpenCV】 画像にエッジ検出フィルタを適用する(Laplacianフィルタ)
OpenCVの復習が必要になったのでメモしておきます。
// グレースケールで画像を読み込む UMat source; imread("lenna.jpg", CV_LOAD_IMAGE_GRAYSCALE).copyTo(source); if (source.empty()) { throw runtime_error("Failed to open image"); } // エッジを検出する int ksize = 3; UMat destination; Laplacian(source, destination, source.depth(), ksize); imshow("source", source); imshow("destination", destination);
Laplacianのksizeというパラメータについてですが、k=1の時
$$ \left( \begin{array}{ccc} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \\ \end{array} \right) $$
k=3の時
$$ \left( \begin{array}{ccc} 1 & 1 & 1 \\ 1 & -8 & 1 \\ 1 & 1 & 1 \\ \end{array} \right) $$
というフィルタを適用します。
さらに進化した画像処理ライブラリの定番 OpenCV 3基本プログラミング
- 作者: 北山洋幸
- 出版社/メーカー: カットシステム
- 発売日: 2016/04
- メディア: 単行本
- この商品を含むブログ (1件) を見る
関連記事 【OpenCV】 画像にエッジ検出フィルタを適用する(Cannyフィルタ) - 旅行好きなソフトエンジニアの備忘録 【OpenCV】 画像にエッジ検出フィルタを適用する(Sobelフィルタ) - 旅行好きなソフトエンジニアの備忘録