• Kuan滤波C++实现(结合opencv)


    void Kuan(Mat &src, Mat &dst,int n)
    {
        
        
        for( int i = (n-1)/2; i < src.rows-(n-1)/2; ++i)
           for( int j = (n-1)/2; j < src.cols-(n-1)/2 ; ++j )
              {
                  int temp=(src.at<uchar>(i,j)+src.at<uchar>(i-1,j-1)+src.at<uchar>(i-1,j)+src.at<uchar>(i,j-1)
                      +src.at<uchar>(i+1,j)+src.at<uchar>(i,j+1)+src.at<uchar>(i+1,j+1)+src.at<uchar>(i-1,j+1)+src.at<uchar>(i+1,j-1))/9;
                  
                  int temp_devation=sqrt((double) ((src.at<uchar>(i,j)-k)*(src.at<uchar>(i,j)-k)
                                     +(src.at<uchar>(i-1,j-1)-k)*(src.at<uchar>(i-1,j-1)-k)
                                     +(src.at<uchar>(i-1,j)-k)*(src.at<uchar>(i-1,j)-k)
    
                                     +(src.at<uchar>(i,j-1)-k)*(src.at<uchar>(i,j-1)-k)
                                     +(src.at<uchar>(i+1,j)-k)*(src.at<uchar>(i+1,j)-k)
                                     +(src.at<uchar>(i,j+1)-k)*(src.at<uchar>(i,j+1)-k)
    
                                     +(src.at<uchar>(i+1,j+1)-k)*(src.at<uchar>(i+1,j+1)-k)
                                     +(src.at<uchar>(i-1,j+1)-k)*(src.at<uchar>(i-1,j+1)-k)
                                     +(src.at<uchar>(i+1,j-1)-k)*(src.at<uchar>(i+1,j-1)-k))/9);
                 
                  double w=(double)(d*d)/(d*d+temp_devation*temp_devation);
                
                
                   dst.at<uchar>(i,j)=temp+w*(k-temp);
                
              }
    
    
    
    
    }
  • 相关阅读:
    第4章 Android移植环境搭建
    第3章 Android移植平台工具介绍
    第2章
    第1章 Android系统的编译和移植实例:
    nfs
    TFTP服务器搭建
    根系统制作
    nfs挂载
    uboot的编译
    交叉工具链的搭建方法
  • 原文地址:https://www.cnblogs.com/chchche/p/2815305.html
Copyright © 2020-2023  润新知