sobel导数

来源:互联网 发布:原油api数据怎么看 编辑:程序博客网 时间:2024/04/29 01:36

int  main(){ Mat  sar = imread("leap.jpg" , 1) ; namedWindow("leap") ; imshow("leap" , sar) ; waitKey(0) ; GaussianBlur(sar , sar , Size(3 , 3) , 0 , 0 , BORDER_DEFAULT) ; namedWindow("gauss") ; imshow("gauss" , sar) ; waitKey(0) ; Mat  sar_grad ; cvtColor( sar , sar_grad , CV_RGB2GRAY )  ; namedWindow("grad") ; imshow("grad" , sar_grad) ; waitKey(0) ;  int scale = 1 , delta = 0  ,  ddepth = CV_16S ; Mat grad_x , grad_y ; Sobel( sar_grad , grad_x , ddepth , 1 , 0 , 3 , scale , delta , BORDER_DEFAULT) ; Sobel( sar_grad , grad_y , ddepth , 0 , 1 , 3 , scale , delta , BORDER_DEFAULT) ; Mat abs_grad_x , abs_grad_y ; convertScaleAbs( grad_x , abs_grad_x) ; convertScaleAbs( grad_y , abs_grad_y) ; Mat ans ; addWeighted( abs_grad_x , 0.5 , abs_grad_y , 0.5 , 0 , ans) ; namedWindow("soble") ; imshow("soble" , ans) ; waitKey(0)  ;   cout<< ans.rows<< "  " << ans.cols << endl ;  //freopen("data.txt" , "w" , stdout) ;  int  n = 0 ; for(int i = 0 ; i < ans.rows ; i++){ for(int j = 0 ; j < ans.cols ; j++) { if( ans.at<uchar>(i , j)  != 0 ) n++ ; } } cout<< n << endl ;  system("pause") ;  return  0 ; }







0 0
原创粉丝点击