Tsai zhang 计算机视觉 图像处理


本软件是计算机视觉中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  calibcalib.cpp

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

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

     文件       2183  2004-12-24 17:26  calibCalib.h

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

     文件      28870  2004-09-30 09:16  calibCarnegieMellowCal_main.cpp

     文件       3994  2004-12-24 17:27  calibCarnegieMellowCal_main.h

     文件      44303  2005-02-08 13:04  calibCarnegieMellowCal_main.o

     文件        540  2004-09-30 09:16  calibCarnegieMellowdpmpar.cpp

     文件       2821  2005-02-08 13:04  calibCarnegieMellowdpmpar.o

     文件       1253  2004-09-30 09:16  calibCarnegieMellowenorm.cpp

     文件       6108  2005-02-08 13:04  calibCarnegieMellowenorm.o

     文件       1405  2004-09-30 09:16  calibCarnegieMellowFdjac2.cpp

     文件       5482  2005-02-08 13:04  calibCarnegieMellowFdjac2.o

     文件     116010  2005-02-08 13:04  calibCarnegieMellowlibcm.a

     文件       6705  2004-09-30 09:16  calibCarnegieMellowLmdif.cpp

     文件      16649  2005-02-08 13:04  calibCarnegieMellowLmdif.o

     文件       5674  2004-09-30 09:16  calibCarnegieMellowlmpar.cpp

     文件      12488  2005-02-08 13:04  calibCarnegieMellowlmpar.o

     文件       1009  2004-12-25 10:55  calibCarnegieMellowMakefile

     文件       8464  2004-09-30 09:16  calibCarnegieMellowmatriz.cpp

     文件        758  2004-12-24 17:27  calibCarnegieMellowMatriz.h

     文件       8788  2005-02-08 13:04  calibCarnegieMellowmatriz.o

     文件       2619  2004-12-25 10:56  calibCarnegieMellowqrfac.cpp

     文件       8871  2005-02-08 13:04  calibCarnegieMellowqrfac.o

     文件       2096  2004-12-25 10:56  calibCarnegieMellowqrsolv.cpp

     文件       9164  2005-02-08 13:04  calibCarnegieMellowqrsolv.o

     文件      41682  2004-09-30 08:50  calibDraw.cpp

     文件       1887  2004-12-24 17:26  calibDraw.h

     文件     773987  2005-02-08 13:02  calibDraw.o

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)