1つの#include " opencv2 / imgproc / imgproc.hpp " 2の#include " opencv2 /のHighGUI / highgui.hpp " 3 4 使用して 名前空間STDを、 5 使用して 名前空間の品種; 6 7 /// 全局变量 8 int型 DELAY_CAPTION = 1500 。 9 int型 DELAY_BLUR = 100 。 10 のint = MAX_KERNEL_LENGTH 31 。 11 12 マットSRC。マットDST。 13 チャー window_nameが[] = "デモ1フィルタ。" ; 14 15 /// 関数宣言 16 のint display_caption(CHAR * キャプション); 17 int型(display_dst INT ディレイ); 18れている 。19 / * * 20は、 主な機能* 21である * / 22である INTメイン(int型 ARGC、CHAR * * ARGV) 23である { 24 namedWindow(window_nameが、CV_WINDOW_AUTOSIZE); 25 26である /// 読み込み元画像 27 SRC =関数imread("../images/lena.jpg " 1 ); 28 29 であれば(display_caption(" 元画像」)!= 0){ 戻り 0 ;} 30 31 DST = src.clone(); 32 であれば(display_dst(DELAY_CAPTION) != 0){ 戻り 0 ;} 33 34 /// 使用均值平滑 35 であれば(display_caption(" 均質ぼかし"!)= 0){ 戻り 0 ;} 36 37 のために(INTは iは= 1 ; iは<MAX_KERNEL_LENGTHは、iは= I + 2 ) 38 {ブラー(SRC、DST、サイズ(I、I)、ポイント( - 1、 - 1 ))。 39 であれば(display_dst(DELAY_BLUR)!= 0){ 戻り 0 。}} 40 41 /// 使用高斯平滑 42 であれば(display_caption(" ガウスぼかし")!= 0){ 戻り 0 。} 43 44 のために(INT I =1 ; I <MAX_KERNEL_LENGTH。私+ = 2 ) 45 {GaussianBlur(SRC、DST、サイズ(I、I)、0、0 ); 46 であれば(display_dst(DELAY_BLUR)!= 0){ 戻り 0 。}} 47 48 /// 使用中值平滑 49 であれば(display_caption(" 中央ぼかし")!= 0){ 戻り 0 。} 50 51 のために(INTは iは= 1 ; iは<MAX_KERNEL_LENGTHは、iは= I + 2 ) 52 {medianBlur(SRC、DST、I)。 53 であれば(display_dst(DELAY_BLUR)!= 0){ 戻り 0 。}} 54 55 /// 使用双边平滑 56 であれば(display_caption(" バイラテラルぼかし")!= 0){ 戻り 0 。} 57 58 のために(INT iは= 1 ; I <MAX_KERNEL_LENGTH; iは= I + 2 ) 59 {bilateralFilter(SRC、DST、I、I * 2、I / 2 )。 60 もし(display_dst(DELAY_BLUR)!= 0){ 戻り 0 。}} 61 62 /// 等待用户输入 63 display_caption(" エンド:!キーを押して" ); 64 65 waitKey(0 )。 66 リターン 0 ; 67 } 68 69 int型 display_caption(CHAR * キャプション) 70 { 71 DST = マット::ゼロ(src.size()、src.type())。 72 putText(DST、キャプション、 73 ポイント(src.cols / 4、src.rows / 2 )、 74 CV_FONT_HERSHEY_COMPLEX、1、スカラー(255、255、255 )); 75 76 関数imshow(window_nameが、DST)。 77 INT C = waitKey(DELAY_CAPTION)。 78 場合(C> = 0){ リターン - 1 。} 79 リターン 0 。 80 } 81 82 int型 display_dst(INT 遅延) 83 { 84 関数imshow(window_nameが、DST)。 85 INT C = waitKey(遅延)。 86 場合(C> = 0){ リターン - 1 。} 87 リターン 0 。 88 }