画像平滑化処理OpenCVの

 

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)、00 );
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、スカラー(255255255 ));
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    }

おすすめ

転載: www.cnblogs.com/ybqjymy/p/12170894.html