⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linlsq.h

📁 一个google的OCR源码
💻 H
字号:
/********************************************************************** * File:        linlsq.h  (Formerly llsq.h) * Description: Linear Least squares fitting code. * Author:		Ray Smith * Created:		Thu Sep 12 08:44:51 BST 1991 * * (C) Copyright 1991, Hewlett-Packard Ltd. ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** http://www.apache.org/licenses/LICENSE-2.0 ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. * **********************************************************************/#ifndef           LINLSQ_H#define           LINLSQ_H#include          "points.h"#include          "mod128.h"#include          "varable.h"class LLSQ{  friend class PDLSQ;            //pos & direction  public:    LLSQ() {  //constructor      clear();  //set to zeros    }    void clear();  //initialize    void add(           //add element             double x,  //coords to add             double y);    void remove(           //delete element                double x,  //coords to delete                double y);    inT32 count() {  //no of elements      return n;    }    double m();  //get gradient    double c(            //get constant             double m);  //gradient    double rms(            //get error               double m,   //gradient               double c);  //constant    double spearman();  //get error  private:    inT32 n;                     //no of elements    double sigx;                 //sum of x    double sigy;                 //sum of y    double sigxx;                //sum x squared    double sigxy;                //sum of xy    double sigyy;                //sum y squared};class PDLSQ{  public:    PDLSQ() {  //constructor      clear();  //set to zeros    }    void clear() {  //initialize      pos.clear ();              //clear both      dir.clear ();    }    void add(                         //add element             const ICOORD &addpos,    //position of pt             const ICOORD &adddir) {  //dir of pt      pos.add (addpos.x (), addpos.y ());      dir.add (adddir.x (), adddir.y ());    }    void remove(                            //remove element                const ICOORD &removepos,    //position of pt                const ICOORD &removedir) {  //dir of pt      pos.remove (removepos.x (), removepos.y ());      dir.remove (removedir.x (), removedir.y ());    }    inT32 count() {  //no of elements      return pos.count ();    }    float fit(                 //get fit parameters              DIR128 &ang,     //output angle              float &sin_ang,  //output components              float &cos_ang,              float &r);  private:    LLSQ pos;                    //position    LLSQ dir;                    //directions};extern double_VAR_H (pdlsq_posdir_ratio, 0.4e-6, "Mult of dir to cf pos");#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -