精华内容
下载资源
问答
  • 摘要:为DSP控制的功率因数校正(PFC)变换器提出了一种新颖的采样算法,它能够很好地消除PFC电路中高频开关动作产生的振荡对数字采样的影响。尤其是当开关频率高于30kHz时,所提出的新颖采样算法能够更好地提高开关...
  • 为了快速、准确地稳定矿井车载摄像系统获取抖动图像,提出了一种基于下采样灰度投影电子稳像算法。首先对图像进行直方图均衡化处理,以提高图像对比度;为减少算法运算量,削减局部运动物体影响,通过下采样方法对...
  • 相对固定频率采样的传感器,变频采样的传感器在监测性能上更有优势。针对传感器应用场景提出了一种策略模型,在此基础上设计了一种应用于节点异常监测状态频率控制(DisTros)算法,并用MATLAB/Simulink工具进行...
  • 1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。 2. 文中含有大量公式,若读者需要获取含公式原稿...

    作者:CHEONG

    公众号:AI机器学习与知识图谱

    研究方向:自然语言处理与知识图谱

    阅读本文之前,首先注意以下两点:

    1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。

    2. 文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:MCMC第四讲,可添加微信号【17865190919】进学习交流群,加好友时备注来自CSDN。原创不易,转载请告知并注明出处!

    本文介绍MCMC方法其中之一的MH采样方法。


    一、MCMC解决的问题

    MCMC是一种方法论,MH采样方法和Gibbs采样方法是MCMC的两个具体实现。MCMC的目的求后验概率p(z)p(z),有了后验概率p(z)p(z)后目标是求关于后验概率p(z)p(z)的期望值:

    在这里插入图片描述

    从公式可知,对后验概率p(z)p(z)进行采样可直接求出期望值,但是直接从p(z)p(z)采样较为困难,MCMC便是为了解决从p(z)p(z)中采样困难的问题。


    二、MH采样算法

    MCMC的思想是构造一个马氏链,该马氏链能够趋向于平稳分布,然后平稳收敛到后验概率p(zx)p(z|x),现在问题在于马氏链如何趋向于平稳分布,继续细化就是如何找到满足Detailed Balance的条件转移矩阵P=[pij]P=[p_{ij}]让马氏链趋向于平稳分布。

    为了得到能可平稳分布的条件概率转移矩阵P=[pij]P=[p_{ij}],先假设一个随机的条件概率转移矩阵Q=[qij]Q=[q_{ij}],则会有:

    在这里插入图片描述

    为了让上述公式能够相等,引入α(z,z)\alpha(z,z_*)α(z,z)\alpha(z_*,z),使得

    在这里插入图片描述

    这样就找到了满足平稳分布的条件概率转移矩阵:

    在这里插入图片描述

    这里直接先给出结论,为了上式相等,则α(z,z)\alpha(z,z_*)α(z,z)\alpha(z_*,z)的值为:

    在这里插入图片描述

    下面证明当α(z,z)\alpha(z,z_*)α(z,z)\alpha(z_*,z)取上面值时,如下公式成立

    在这里插入图片描述

    至此寻找到了一个新的状态转移矩阵Q=[qij]Q=[q_{ij}]α(z,z)\alpha(z,z_*)α(z,z)\alpha(z_*,z)使得马尔科夫链趋向于平稳分布。

    这样便可直接引入MCMC中的Metropolis Hastings MH采样方法,步骤如下:

    a.先从(0,1)均匀分布中进行一次随机采样得到uu

    b.从状态转移矩阵Q=[qij]Q=[q_{ij}]对应的概率分布Q(zzi1)Q(z|z_{i-1})中采样得到zz_*

    c.取值

    在这里插入图片描述

    注意:这里的p(z)p(z)不是实际求出,而是归一化的p^(z)\hat{p}(z),可以认为p^(z)\hat{p}(z)正比于p(z)p(z)

    d.如果αu\alpha \geq u,则本次采样的样本为zi=zz_i=z_{*},否则的话本次样本点为zi=zi1z_i=z_{i-1},即将上一次的采样样本作为本次的采样样本。

    **总结:**所以MH采样方法的思想仍然是直接从后验分布p(z)p(z)中无法采样,于是引入了可满足如下平稳分布:

    在这里插入图片描述

    然后按照上述方式进行采样,得到采样样本,就可以绕过后验概率p(z)p(z)来计算目标期望值:
    在这里插入图片描述

    展开全文
  • 其次, 为每个关键点建立局部坐标系, 计算关键点快速点特征直方图, 使用采样一致性配准算法匹配关键点特征, 去除错误匹配点, 求解出变换矩阵, 完成初始配准; 最后, 使用ICP算法, 对多视点云初始配准结果进行...
  • 对基于快速傅里叶变换4种典型相位解包裹算法的速度、准确性及适用范围等相关问题进行了深入研究,并且通过计算机模拟分析了该类算法4种经典算法的抗噪能力和处理含有欠采样情况能力。结果表明,对于含有强...
  • 快速了解Bagging算法

    2020-05-11 22:16:29
    快速了解Bagging算法Boostrap sampling 自助采样Bagging算法Bagging性能 Boostrap sampling 自助采样  之前已经讲过模型评估方法中有留一法(将数据集划分为两个互不相交集合,一个做测试集,一个做训练集)和...

    Boostrap sampling 自助采样

     之前已经讲过模型的评估方法中有留一法(将数据集划分为两个互不相交的集合,一个做测试集,一个做训练集)和交叉验证方法(将数据分成k个大小相似互不相交的子集,每次使用k-1个子集做训练集,剩下的一个子集做测试集,以此循环进行k次的训练和测试,最后返回k次测试结果的均值。)。但是上述两种方法中都保留了一部分样本用于测试,所以实际模型所使用的训练集比源数据都要小,因此就会引入一些因训练样本规模不同而导致的估计偏差。另外一方面留一法受训练样本影响较小,但是计算复杂度又太高。因此为了解决减少训练样本规模不同造成的影响,同时还能比较高效地进行测试集的评估。自助法就是很好的解决方案。
     boostrap抽样:
     在样本集D(样本数为m)内有放回的抽样,抽取数为m,每次抽取的概率为1/m,一个样本可能被重复抽取.我们做一个简单的估计,样本m此采样中始终不被采样的概率为:
    在这里插入图片描述
     m趋近于正无穷时求极限,得到原数据集D中36.8%的样本没有出现在采用数据集D1中,我们可以使用D1作为训练集,D-D1作为测试集.这样实际评估的模型与期望的模型都使用m个训练样本,而我们仍有数据总量的1/3没有在训练集中出现.将其用于测试集.术语”包外估计”可以解释上述过程.
    在这里插入图片描述

    Bagging算法

    在这里插入图片描述
     Bagging基本流程:通过上述自助采样,采出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器(默认决策树,且是并行),在将这些基学习器进行组合。
     在对预测输出进行结合的时候,Bagging通常对分类任务使用简单投票法,对回归任务进行简单的平均法。但是如果投票个数一致,则最简单的做法是随机选择一个类别,当然也可以进一步考察学习器投票的置信度来确定最终的分类。

    Bagging性能

     1.Bagging是一个很高效的集成学习算法
     2.Bagging与下面讲的AdaBoost只适用于二分类不同,它能不经修改地用于多分类、回归任务。
     3.自助bootstrap采样过程还给Bagging带来了另一个优点:由于每个基学习器只使用了初始训练集中约63.2%的样本,剩下的约36.8%样本可用作验证集来泛化性能进行“包外样本评估(即:不同于训练数据的样本)”。
     4.从偏差-方差分解角度看,Bagging主要关注降低方差,因此他在不剪枝决策树、神经网络等易受样本扰动的学习器上效果更为明显。

    展开全文
  • ARM+DSP双处理器构架微机馈线保护装置选用TI公司TM2320F2812 DSP作为保护CPU完成馈线保护算法,并采用FFT变换作为保护采样算法。给出了TMS320F2812片内Flash基本用法,包括从Flash拷贝段到RAM、性能优化编程...
  • 针对大规模散乱点数据k最近邻域搜索速度慢和稳定性差问题,提出一种新k邻域快速搜索...实验结果表明该算法对初始搜索步长、搜索步长增量、采样密度和不同拓扑结构具有较强稳定性,并且能更地完成k邻域搜索。
  • 本文提出利用梯度方向信息确定采样的三点是否进行累积,利用正六边形窗口缩小搜索像素点范围,大大缩短了随机Hough变换(RHT)算法边缘特征提取运算时间等方法,最后基于LabVIEW平台实现该精密检测算法,试验验证,该算法...
  • 提出一种多重网格剖分快速搜索算法,该算法首先将采样数据进行...最后利用快速搜索算法得到的采样数据计算出待插值点。实际数据的网格化测试结果表明,该算法有效地提高了散乱采样数据的搜索效率,具有实际应用价值。
  • 提出了非负张量分解一种快速算法。首先,将大张量数据视做多元连续函数离散化,对其进行采样得到一个小张量;其次,对小张量执行非负分解,可得到它重构张量;然后,对于采样重构张量,使用二维线性插值...
  • 快速扩展随机树作为一种新颖随机节点采样算法,相对传统路径规划算法,具有建模时间短、搜索能力强、方便添加非完整约束等优点。介绍了快速扩展随机树算法基本原理与性质,并从单向随机树扩展、多向随机树扩展、...
  • 采用金字塔向下采样获取缩小后图像,引入伪去雾图像与暗原色置信度作为修正因子,获取缩小图像粗透射率;然后将缩小图像还原至初始尺寸,利用联合双边滤波对纹理进行细化;最后结合大气光散射模型及帧间视频去雾理论...
  • 装置采样同一单调区间内输入电压并利用改进型导数法快速计算出当前有效值,经阈值判断后通过内部电机驱动齿轮组方式带动机械式保护器实现分合闸操作,并在电压故障排除后自动恢复接通状态。首先介绍了自恢复功能...
  • 快速中值滤波算法  中值滤波算法:  在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。中值滤波是一种非线性数字滤波器技术,经常...然后,丢弃早的值,取得新的采样...

    快速中值滤波算法

      中值滤波算法

          在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。中值滤波是一种非线性数字滤波器技术,经常用于去除图像或者其它信号中的噪声。这个设计思想就是检查输入信号中的采样并判断它是否代表了信号,使用奇数个采样组成的观察窗实现这项功能。观察窗口中的数值进行排序,位于观察窗中间的中值作为输出。然后,丢弃最早的值,取得新的采样,重复上面的计算过程。中值滤波是图像处理中的一个常用步骤,它对于斑点噪声和椒盐噪声来说尤其有用。保存边缘的特性使它在不希望出现边缘模糊的场合也很有用。

     

          为了演示中值滤波器的工作过程,我们给下面的数组加上观察窗 3 ,重复边界的数值:

          x = [2 80 6 3]

          y[1] = Median[2 2 80] = 2
          y[2] = Median[2 80 6] = Median[2 6 80] = 6
          y[3] = Median[80 6 3] = Median[3 6 80] = 6
          y[4] = Median[6 3 3] = Median[3 3 6] = 3

          于是
          y = [2 6 6 3]

          其中 y 是 x 的中值滤波输出。

           普通中值滤波算法伪代码:

          Input: image X of size m*n, kernel radius r.

          output: image Y as X.

          for i = r to m - r do 

            for j = r to n - r do

              initialize list A[]

              for a = i-r to i+r

                for b = j-r to j+r

                  add X(a, b) to  A[]

                end 

              end

              sort A[] then Y(i ,j) = A[A.size/2]

            end

          end

          处理前:                                                                  

                         

           处理后:         

          

         但是,上述算法在像素处理处的复杂度为O(r2).

     

      OpenCV实现代码:

    #include "cv.h"
    #include "highgui.h"
    #include <iostream>
    
    using namespace std;
    using namespace cv;
    
    int main(int argc, char* argv[])
    {
            Mat src = imread("beauty.jpg");
            Mat dst;
    
            //参数是按顺序写的
    
            //高斯滤波
            //src:输入图像
            //dst:输出图像
            //Size(5,5)模板大小,为奇数
            //x方向方差
            //Y方向方差
            GaussianBlur(src,dst,Size(5,5),0,0);
            imwrite("gauss.jpg",dst);
            
            //中值滤波
            //src:输入图像
            //dst::输出图像
            //模板宽度,为奇数
            medianBlur(src,dst,3);
            imwrite("med.jpg",dst);
            
            //均值滤波
            //src:输入图像
            //dst:输出图像
            //模板大小
            //Point(-1,-1):被平滑点位置,为负值取核中心
            blur(src,dst,Size(3,3),Point(-1,-1));
            imwrite("mean.jpg",dst);
    
            //双边滤波
            //src:输入图像
            //dst:输入图像
            //滤波模板半径
            //颜色空间标准差
            //坐标空间标准差
            bilateralFilter(src,dst,5,10.0,2.0);//这里滤波没什么效果,不明白
            imwrite("bil.jpg",dst);
    
            waitKey();
    
            return 0;
    }
    View Code

     

      快速中值滤波算法:

         O(r)复杂度的Huang算法:<A Fast Two-Dimensional Median Filtering Algorithm>

     

                         

        这个代码的核心在于维护一个kernel直方图,可以实现快速的读取和删除扫描区域的像素值。

    int StopAmount = (2 * Radius + 1) * (2*Radius +1) * Percentile;
    int Sum = 0;
    for (int I = 0; I <= 255; I++)
    {
        Sum += HistBlue(I);
        if (Sum >= StopAmount)      // 满足停止条件
        {
            Value = I;              // 得到中值
            break; 
        }
    }

     

        在MFC中实现的huang算法:

    /******************************************************************
    * 功能: 彩色图像的快速中值滤波平滑处理
    * 参数: image0为原图形,image1平滑结果,
    *        w、h为图象的宽和高
    *       size为进行平滑的邻域边长
    ******************************************************************/
    void FastSmoothMedianCl(BYTE* image0, BYTE* image1, unsigned int w, unsigned int h, unsigned int size)
    {
        //将图像转化为矩阵形式
        BYTE** imageBuf0 = CreatImage(image0, w, h);
        BYTE** imageBuf1 = CreatImage(image1, w, h);
        //设定模板
        int x,y,c;
        int a;
        //int scale;
        int ** templt;
        //初始化 x = size/2 为中心的点的直方图,
    
        
        //根据邻域大小设定模板
        templt = new int*[5];
        for(c=0; c<3; c++)
        {
            templt[c] = new int [256];
        }
    
        for(y=size/2; y<h-size/2; y++)
        {
            for(c=0; c<3; c++)
            {
                for (int i= 0; i< 256; i ++){
                    templt[c][i] = 0;
                }
                for(int i = y-size/2; i < y+size/2; i++){
                    for (int j = 0; j < size; j++){
                        int k = imageBuf0[i][j*4+c];
                        templt[c][k] ++;
                    }
                }
            }
            for(x=size/2+1; x<w-size/2; x++)
            {
                for(c=0; c<3; c++)
                {
                    //取采样窗口中像素灰度的中值
                    a=FastMedianValueCl(imageBuf0,w,h,templt,size,x,y,c);
                    //a/= scale;
                    //过限处理
                    a = a>255?255:a;    
                    a = a<0?0:a;
                    imageBuf1[y][x*4+c]=a;
                }
            }
        }
        
        //清理内存
        for(int i = 0; i < 3; i ++){
            delete templt[i];
        }
        free(imageBuf0);
        free(imageBuf1);
    }
    
    /**************************************************
    * 功能: 使用直方图对彩色图邻域获取中值
    * 参数: imageBuf为目标图像 w、h为图像大小
    *       templt为模板 tw为邻域大小 
    *        x,y为当前采样窗口中心像素的坐标
    *       cn为颜色分量编号 0为蓝色 1为绿色 2为红色
    **************************************************/
    int FastMedianValueCl(BYTE** imageBuf0, int w, int h, int**templt, int tw, int x, int y, int cn)
    {
        int i,j,k;                   
        int px,py, mid;
        int count = 0;                 //用来保存采样窗口的像素数量
        int count_temp = 0;
        k=0;
    
        //从采样窗口中取得像素灰度
        for(i=0; i<tw; i++)
        {
                py=y-tw/2+i;
                px=x+tw/2+1;
                //如果该像素位于采样窗口
                //保存像素灰度
                k = imageBuf0[py][px*4+cn];
                templt[cn][k]++;
    
                px=x-tw/2;
                //保存像素灰度
                k = imageBuf0[py][px*4+cn];
                templt[cn][k]--;
        }
        for(int a = 0; a < 256; a++){
            mid = a;
            count_temp += templt[cn][a];
            if(count_temp > (tw*tw)/2) break;
        }
    
        return mid;
    }
    View Code

        与普通算法的比较:

        O(1)复杂度的CTMF算法:<Median Filter in Constant Time.pdf>

      首先,对于每一列图像,我们都为其维护一个直方图(对于8位图像,该直方图有256个元素),在整个的处理过程中,这些直方图数据都必须得到维护。每列直方图累积了2r+1个垂直方向上相邻像素的信息,初始的时候,这2r+1个像素是分别以第一行的每个像素为中心的。核的直方图通过累积2r+1个相邻的列直方图数据获取。其实,我们所做的就是将核直方图分解成他对应的列直方图的集合,在整个滤波的过程中,这些直方图数据在两个步骤内用恒定的时间保持最新。

      考虑从某个像素向右移动一个像素的情况。对于当前行,核最右侧的列直方图首先需要更新,而此时该列的列直方图中的数据还是以上一行对应位置那个像素为中心计算的。因此需要减去最上一个像素对应的直方图然后加上其下面一像素的直方图信息。这样做的效果就是将列直方图数据降低一行。这一步很明显是个0(1)操作,只有一次加法和一次减法,而于半径r无关。

          第二步更新核直方图,其是2r+1个列直方图之和。这是通过减去最左侧的列直方图数据,然后再加上第一步所处理的那一列的列直方图数据获得的。这一步也是个O(1)操作,如图2所示。如前所述,加法、减法以及计算直方图的中值的耗时都是一些依赖于图像位深的计算,而于滤波半径无关。

                         

        这个算法较之前的Huang算法的差别在于,充分利用了之前的数据,这有点类似于动态规划,也是用空间换取时间的策略。

     

     

     参考博客:http://www.cnblogs.com/Imageshop/archive/2013/04/26/3045672.html

    转载于:https://www.cnblogs.com/yoyo-sincerely/p/6058944.html

    展开全文
  • 均值滤波快速算法

    千次阅读 2016-08-28 08:58:37
    1.概述  在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。中值滤波是一种非线性数字滤波器...然后,丢弃早的值,取得新的采样,重复上面的计算过程。中值滤波是图像处理

    1.概述

     在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪。中值滤波是一种非线性数字滤波器技术,经常用于去除图像或者其它信号中的噪声。这个设计思想就是检查输入信号中的采样并判断它是否代表了信号,使用奇数个采样组成的观察窗实现这项功能。观察窗口中的数值进行排序,位于观察窗中间的中值作为输出。然后,丢弃最早的值,取得新的采样,重复上面的计算过程。中值滤波是图像处理中的一个常用步骤,它对于斑点噪声和椒盐噪声来说尤其有用。保存边缘的特性使它在不希望出现边缘模糊的场合也很有用。

     1.1 中值滤波快速算法 

    很多人提出了各种中值滤波的快速算法,其共同特点是只考虑滑动窗口中移入和移出的数据,避免了传统算法中因排序所需的大量数据比较,从而较大地提高了速度。本文从另一个角度提出了一种快速算法,考虑的对象是单个滑
    动窗内的像素。具体步骤如下:


    (1)   X
    考虑待处理的窗口内像素为 i={X1,Xc,Xn},加权窗为Wi={W1 W2   Wn} X。对中心像素 c进行比较,将窗口内的像素分为小于、等于和大于Xc3[3],并加上相应权值来统计每一类的个数分别记为Left CenterRight。把小于和大于Xc的像素分别放入数组LEFT[]RIGHT[]。例如X3Left=Left+W3,并加入W3X3到数组LEFT[m] LEFT[m+1] 、直到LEFT[m+ W3-1],m=Left,取下一个像素重复以
    上步骤,取完为止。

    (2)  比较LeftRight X,如两者相等则中值为中心像素 c
    (3)  |Left-Right| r X,则中值为中心像素 c
    (4)  |Left-Right|>Cente
    r,则分为 Left>Right Right>Left两种情况。 Left>Right为例 , X说明中值在小于 c的这一类中 LEFT[Left] =Left-Right-Center。表示中值就是数组LEFT[Left]中最大的△个数的中值。计算index=( +1)/2.表示中值就是LEFT[Left]中第index
    大这个数(Right>Left )情况下分析类似
    (5)   
    最后对LEFT[Left]RIGHT[Right]进行局部排序,排序到第index个大小时结束。

    流程图如下:

    均值滤波快速算法

     

    2 调试

    2. 1 中值滤波快速算法

    测试结果:

    根据测试,处理同样一副椒盐噪声图像,与一般的中值滤波方法相比,采用3*3的滤波窗口,本文的中值滤波的快速算法在时间上大约可以缩短一半,而对于更大的滤波窗口来说,窗口越大采用本文的方法实验结果越明显。由此可见,本中值滤波在实际应用中可以更为快速的解决问题。

    椒盐噪声图像滤波:

    均值滤波快速算法

    高斯图像滤波:

    均值滤波快速算法

    CCS代码:

     

    #include

    #include

    #include"IMG_thr_le2min.h"

     

    #define IMAGEWIDTH  256

    #define IMAGEHEIGHT 256

    #define Uint8       unsigned char

     

    unsigned char grey[IMAGEHEIGHT][IMAGEWIDTH];

     

    void ReadImage(char *cFileName);

    void bmpDataPart(FILE* fpbmp);

    void fastmiddle();

    Uint8 GetMedianLocalSort(Uint8 *array,Uint8 length,Uint8 index,int type);

     

     

    void main()

    {

     

       ReadImage("D:\\Administrator\\My Pictures\\Lena1.bmp");

     

       fastmiddle();

     

       while (1);                                               

    }                                         

     

     

    void ReadImage(char *cFileName)

    {

     

            FILE *fp;

            if ( fp=fopen(cFileName,"rb" ) )

            {

              

                  bmpDataPart(fp);

                  fclose(fp);

            }

    }

     

    void bmpDataPart(FILE* fpbmp)

    {

      int i, j=0;

      unsigned char* pix=NULL;

      fseek(fpbmp, 55L, SEEK_SET);

     

      pix=(unsigned char*)malloc(256);

     

      for(j=0;j

       {

        

                   fread(pix, 1, 256, fpbmp);

         for(i=0;i

            {

              

                    

                grey[IMAGEHEIGHT-1-j][i]   =pix[i];

     

            }

     

        }

     

    }

     

     

    void fastmiddle()

    {

     

     int i=0,j=0;

     int wheight=1,wwidth=1;                   //窗口大小(2*wheight+1) * (2*wwidth+1)

     int k=0,l=0;

     Uint8 left[9],right[9],X;

     Uint8 leftnum=0,rightnum=0,centernum=0,index=0;

     

     for(i=0;i

       {

     

         for(j=0;j

            {

              

                if((i>wheight-1) && (iwwidth-1) && (j

                           

                          {

                  

                   X=grey[i][j];

                   leftnum=0;

                   rightnum=0;

                   centernum=0;

                   index=0;

     

                            for(k=i-wheight;k<=i+wheight;k++)

                             for(l=j-wwidth;l<=j+wwidth;l++)

                              {

                       if(grey[k][l]>X )

                                        {

                                        

                                         left[leftnum] = grey[k][l];

                                         leftnum++;

                                        }

     

                        else if(grey[k][l]

                                        {

                                        

                                        right[rightnum] = grey[k][l];

                                        rightnum++;

                                        }

     

                                        else

                                          centernum++;

     

                      }

     

                    if(leftnum == rightnum)

                                   continue;//grey[i][j]=X;

                                else

                                 if(abs(leftnum-rightnum) < centernum)

                                   continue;//grey[i][j]=X;

                                else

                                 if(leftnum>rightnum)

                                  {

                                   index=(leftnum-rightnum-centernum+1)/2;

                       grey[i][j]=GetMedianLocalSort(left,leftnum,index,1);

                                  }

                                else   

                      {

                                   index=(rightnum-leftnum-centernum+1)/2;

                       grey[i][j]=GetMedianLocalSort(right,rightnum,index,2);

                                  }

                

                          }

     

     

            }

     

        }

     

     

    }

     

     

    Uint8 GetMedianLocalSort(Uint8 *array,Uint8 length,Uint8 index,int type)

    {

     int Median=0,i=0,j=0;

     if(type==1)

     {

       for(i=0;i

       {

        for(j=i+1;j

        {

         if(array[i]>array[j])

     

         {

          Median=array[i];

          array[i]=array[j];

          array[j]=Median;

         }

        }

      }

     return array[index-1];

     

     }

     

    if(type==2)

     {

       for(i=0;i

       {

         for(j=i+1;j

         {

           if(array[i]

             {

               Median=array[i];

               array[i]=array[j];

               array[j]=Median;

             }

         }

       }

     return array[index-1];

     }

     return -1;

    }

    展开全文
  • 压缩感知是近年来提出一种新信号压缩采样理论,采样端通过投影获取压缩数据,需要较多计算资源并且成本较高,仍未能实现广泛应用。不同于标准压缩感知,本文提出一种基于边缘信息辅助图像压缩采样方法,即随机...
  • RRT是一种在完全已知环境中通过采样扩展搜索的算法,相比较于基于图搜索算法主要优点就是,因此在多自由度机器人规划问题中发挥着较大作用,比如机械臂规划算法基本都是以RRT为基础。...
  • 算法将内部形态描述子算法和快速点特征直方图(FPFH)算法相结合, 得到特征描述子, 然后采用预估计和三维栅格分割法改进RANSAC算法, 最后与传统配准算法采样一致性初始配准算法进行比较。实验结果表明, 本文算法能...
  • 实践证明,采用交流采样方法进行数据采集,通过算法运算后获得电压、电流、有功功率、功率因数等电力参数有较好精确度和稳定性。  关键词:单片机 交流采样 频率跟踪 电力监测 随着电力系统快速发展,电网...
  • 研究了一类非均匀采样离散随机系统最优滤波问题,其中系统状态以快速率均匀进行更新,观测以慢速率非均匀进行采样,且状态更新率为观测采样整数倍.建立了在观测采样点上非增广状态模型.应用射影理论提出了在...
  • MP3解码之DCT(32→64)快速算法的展开

    千次阅读 2013-12-18 12:42:04
    MP3解码最后一步是“多相合成滤波”,多相合成滤波算法见ISO/IEC 11172-3 ANNEX_B Figure 3-A.2,经过5个步骤,将输入序列X[0..31]32个采样值,变换为32个PCM样本输出: C代码   // ①Shift 64 to 1024 FIFO...
  • MP3解码最后一步是“多相合成滤波”,多相合成滤波算法见ISO/IEC 11172-3 ANNEX_B Figure 3-A.2,经过5个步骤,将输入序列X[0..31]32个采样值,变换为32个PCM样本输出: // ①Shift 64 to 1024 FIFO for i = ...
  • 在期望最大化算法的求期望步骤中,所求的期望值通过求容积规则获得,用较少的采样点保证了估计精度; 在期望最大化算法的最大化步骤中,未知量的优值以解析解形式给出,减小了计算量。仿真结果说明,该算法在飞行器...
  • 对精简后关键点对集使用随机采样一致性算法(RANSAC)获取内点最多变换参数,从而完成点云粗配准;最后在粗配准点云基础上使用 ICP 算法完成精确配准。实验结果表明,本算法在高密集点云上配准效率和精度均有所...
  • SPEEX重采样分析(一)

    千次阅读 2018-04-03 17:40:10
    简介算法速度SIMD(SSE)指令支持低内存高质量该算法是基于原始采样算法: Smith, Julius O. Digital Audio ResamplingHome Page Center for Computer Research in Music and Acoustics (CCRMA), ...
  • 为了快速准确地对含有噪声及欠采样区域包裹相位图进行展开,采用理论分析与...结果表明:DCT-LS算法运行速度最快,LS-LS算法次之,PCG算法速度最慢,PCG算法对于噪声免疫力最强,LS-LS算法处理欠采样的效果最好。
  • 首先采用垂直投影法确定各待检区域的旋转步长,为保证标准库中信息的完整性选一最小步长作为合格品的采样步长。其次采用SIFT算法与折半查找法确定随机摆放的待检产品在标准库中的最优位置信息。最后通过相关度计算...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 251
精华内容 100
关键字:

最快的采样算法