イントロダクション
前回、OpenCVを使ってイメージファイルから、文字列を取得するのを目標にOpenCVを学んできます。文字列を読み込むまでに機械学習も学ぶ(倒す)必要があるのでまずは、目の前の敵を倒します。今日の敵は「中央値フィルタ」
参考サイトはこちらです。そしてJavaDocAPI
実装
前回作成したコードの1行を変えるだけで実装は完了します。
/**
* メインメソッド、書き方は決まっている。
* イメージファイルを読み込んでぼかす Imgproc.blur()
*
* @param argsプログラム引数
*/
public static void main(String[] args) {
// ファイルの読み込み
Mat mat = Imgcodecs.imread(
OpenCVTest2.class.getClass().getResource("/images/Experience.png").getPath());
// 出力用変数
Mat source = new Mat();
// ブラーする、種知力用の変数に値をセットする→「参照渡し」
//Imgproc.blur(mat, source, new Size(2.0,2.0));
// 中央値フィルタ
Imgproc.medianBlur(src, dst, 7);
// 自作のJFrame拡張クラス
new ViewFrame(source);
}
上のコード赤字の部分が追加した行です。
<実行結果>
ま塩ノイズのような特異なノイズに対して効果的です.カーネルサイズは奇数でなければいけません.
1行変えただけですからね(笑)。