最終更新: mikk_ni3_92 2008年11月11日(火) 11:10:03履歴
現在地 >> メニュー >> サンプルコード::OpenCV >> OpenCV::基本編12 >> 基本編12::平滑化
画像の平滑化にはcvSmooth()関数がある。
※デフォルトはガウシアンフィルタ
※メモ
[例]:3×3のガウシアンフィルタを使う
サンプル >> OpenCV::基本編12まとめ1
画像の平滑化にはcvSmooth()関数がある。
※デフォルトはガウシアンフィルタ
void cvSmooth( const CvArr* src, CvArr* dst, int smoothtype=CV_GAUSSIAN, int size1=3, int size2=0, double sigma1=0, double sigma2=0 )
※メモ
- インプレースモード(src と dstが同じ場合)に注意。手法によって、可能な場合と不可能な場合がある。
- size1,size2でフィルタのサイズが決まる。
- 指定する値は奇数である事
- size2=0の場合、size2はsize1の値が設定される。
[例]:3×3のガウシアンフィルタを使う
IplImage *imgA = ... ... cvSmooth(imgA,imgA,CV_GAUSSIAN,3); //σは自動計算
指定できるトークン | 名前 | インプレースモード | その他 |
CV_BLUR | 単純平滑化 | ○ | |
CV_BLUR_NO_SCALE | 単純平滑化(スケーリング無し) | × | 入力画像フォーマットが,8uなら16s、32fなら32fの出力フォーマットを用意 |
CV_GAUSSIAN | ガウシアンフィルタ | ○ | |
CV_MEDIAN | 中央値平滑化 | × | |
CV_BILATERAL | バイテラルフィルタ | ○ |
サンプル >> OpenCV::基本編12まとめ1