エッジ検出、ソーベル、scharr

#include <opencv2 / opencv.hpp> 
の#include <iostreamの> 
する#include <math.h>の
 使用 名前空間品種;
使用して 名前空間はstdを、

マットSRC、DST、DST2、gray_src。
CHAR * INPUT_WIN = " 入力画像" CHAR * OUTPUT_WIN = " 二値画像" INT threshold_valueに= 127 int型 threshold_max = 255 ;
int型 type_value = 2 ;
INT type_max = 4 


int型のmain()
{
 
    SRC =関数imread(" .//pic//kate.png " ); 

    namedWindow(INPUT_WIN、CV_WINDOW_AUTOSIZE); 
    namedWindow(OUTPUT_WIN、CV_WINDOW_AUTOSIZE); 
    関数imshow(INPUT_WIN、SRC); 
    
    ガウスぼかし(SRC、DST、サイズ(33)、00 ); 
    マットgray_src; 
    cvtColor(DST、gray_src、CV_BGR2GRAY); 
    関数imshow(OUTPUT_WIN、gray_src)は、

    マットは、ygradをxgrad; 
    // 出力画像の深さcv_16sは
     // 誘導体、Y方向にシークしないX方向ガイド
     // 。カーネルサイズは、3 
    / * ソーベル(gray_src、xgrad、CV_16S、1,0 ,. 3)。
    ソーベル(gray_src、ygrad、CV_16S、0 ,. 1 ,. 3); * / 

    //     マットのres;Scharrオペレーター:会計中心要素重い重量、補強大きいエッジ 
    Scharr(gray_src、xgrad、CV_16S、103 ); 
    Scharr(gray_src、ygrad、CV_16S、013 );
     // イメージ強化 
    convertScaleAbs(xgrad、xgrad、1.510 ); 
    convertScaleAbs(ygrad、ygrad); 
    関数imshow(" xgrad " 、xgrad); 
    関数imshow(" ygrad " 、ygrad); 

    // X、Y方向はミックスに追加

    addWeighted(xgrad、0.5、ygrad、0.50、RES)。
    (imshowを" RES " 、RES)を、
    

    waitKey(0 )。
    リターン 0 ; 
}

 

おすすめ

転載: www.cnblogs.com/xiaochi/p/12010171.html