• 大小: 2.57MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-27
  • 语言: 其他
  • 标签: Tsai  

资源简介

本软件是计算机视觉中Tsai算法和Zhang算法的实现,同时还实现了边缘检测、特征提取、梯度计算等算法

资源截图

代码片段和文件信息

//////////////////////////////////////////////////////////////////
//****************************************************************
// Source file containing the management of all events
//
// Adelailson Peixoto and Fabio Franco 13/05/2003
// Visgraf - IMPA
//
//****************************************************************
//////////////////////////////////////////////////////////////////

#include “Calib.h“


float  aver=0.0;

/*////////////////////////////////////////*/
/* Declaration of Local Functions  */
/*////////////////////////////////////////*/

static void  cal_CornerFinder(Image *imgpoint2D *points int num_points point2D *p_subpix);
static int   cal_Intersect(point2D p0 point2D p1 point2D p2 point2D p3 point2D *p);  
static void  cal_WarpLine(point2D p0 point2D p1 point2D p2 int n point2D *vpoints);
static void  cal_ApplyConvolution(float **SI int nx int nyfloat *vIx float *vIy);
static void  cal_Gradient(float *SIint nx int ny point2D **grad);
static void  cal_Smooth(float **SI int n_sx int n_sy);

/*////////////////////////////////////////////////////////*/
/*              Implementation of Local Functions         */
/*////////////////////////////////////////////////////////*/

static void cal_ApplyConvolution(float **SI int n_sx int n_sy float *vIx float *vIy)
{
int ij IprvInxtJ Jprv Jnxt prvnxtk=0;
float  *auxSI;

 //Aplying convolution in X direction 
for(j=0; j for(i=0; i   if(i==0)        {Iprv=prv=0;} else {Iprv=i-1; prv=1;}
  if(i==(n_sy-1)) {Inxt=nxt=0;} else {Inxt=i+1; nxt=1;}
  J=j*n_sy;
          (*SI)[i+J] = (*SI)[Iprv+J]*vIx[0]*prv + (*SI)[i+J]*vIx[1] + (*SI)[Inxt+J]*vIx[2]*nxt;
}

    //Aplying convolution in X direction
    for(j=0; j    if(j==0)        {Jprv=prv=0;} else {Jprv=j-1; prv=1;}
   if(j==(n_sx-1)) {Jnxt=nxt=0;} else {Jnxt=j+1; nxt=1;}
   J=j*n_sx;
   for(i=0; i          (*SI)[i+J] = (*SI)[Iprv+J]*vIy[0]*prv + (*SI)[i+J]*vIy[1] + (*SI)[Inxt+J]*vIy[2]*nxt;
}

   //Eliminating SI borders
   if((auxSI=new float[(n_sx-2)*(n_sy-2)])==NULL) return;
   for(j=1; j<(n_sx-1); j++)
for(i=1; i<(n_sy-1); i++)
auxSI[k++]=(*SI)[i+j*n_sy];

delete[](*SI);
(*SI)=auxSI;
}
//////////////////////////////////////////////////////////////////////////
static void  cal_Smooth(float **SI int nx int ny)
{
  int ijnumind;
  float *S=new float[nx*ny]a;

  for(j=0; j for(i=0; i   ind = i+j*nx; num=0; a=0.0f;

  if(i>0 && j>0) {a+=(*SI)[ind-1-nx]; num++;}
  if(j>0) {a+=(*SI)[ind-nx]; num++;}
  if(i0) {a+=(*SI)[ind+1-nx]; num++;}
  if(i>0) {a+=(*SI)[ind-1];num++;}
  if(i   if(i>0 && j   if(j   if(i   a+=(*SI)[ind]; num++;
  S[ind]=a

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      25124  2005-02-11 11:49  calib\calib.cpp

     文件      25116  2005-02-10 13:21  calib\calib.cpp~

     文件    3317234  2005-02-10 13:48  calib\calib.exe

     文件       2183  2004-12-24 17:26  calib\Calib.h

     文件      38333  2005-02-10 13:44  calib\calib.o

     文件      28870  2004-09-30 09:16  calib\CarnegieMellow\Cal_main.cpp

     文件       3994  2004-12-24 17:27  calib\CarnegieMellow\Cal_main.h

     文件      44303  2005-02-08 13:04  calib\CarnegieMellow\Cal_main.o

     文件        540  2004-09-30 09:16  calib\CarnegieMellow\dpmpar.cpp

     文件       2821  2005-02-08 13:04  calib\CarnegieMellow\dpmpar.o

     文件       1253  2004-09-30 09:16  calib\CarnegieMellow\enorm.cpp

     文件       6108  2005-02-08 13:04  calib\CarnegieMellow\enorm.o

     文件       1405  2004-09-30 09:16  calib\CarnegieMellow\Fdjac2.cpp

     文件       5482  2005-02-08 13:04  calib\CarnegieMellow\Fdjac2.o

     文件     116010  2005-02-08 13:04  calib\CarnegieMellow\libcm.a

     文件       6705  2004-09-30 09:16  calib\CarnegieMellow\Lmdif.cpp

     文件      16649  2005-02-08 13:04  calib\CarnegieMellow\Lmdif.o

     文件       5674  2004-09-30 09:16  calib\CarnegieMellow\lmpar.cpp

     文件      12488  2005-02-08 13:04  calib\CarnegieMellow\lmpar.o

     文件       1009  2004-12-25 10:55  calib\CarnegieMellow\Makefile

     文件       8464  2004-09-30 09:16  calib\CarnegieMellow\matriz.cpp

     文件        758  2004-12-24 17:27  calib\CarnegieMellow\Matriz.h

     文件       8788  2005-02-08 13:04  calib\CarnegieMellow\matriz.o

     文件       2619  2004-12-25 10:56  calib\CarnegieMellow\qrfac.cpp

     文件       8871  2005-02-08 13:04  calib\CarnegieMellow\qrfac.o

     文件       2096  2004-12-25 10:56  calib\CarnegieMellow\qrsolv.cpp

     文件       9164  2005-02-08 13:04  calib\CarnegieMellow\qrsolv.o

     文件      41682  2004-09-30 08:50  calib\Draw.cpp

     文件       1887  2004-12-24 17:26  calib\Draw.h

     文件     773987  2005-02-08 13:02  calib\Draw.o

............此处省略80个文件信息

评论

共有 条评论