• 大小: 4.52MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: C/C++
  • 标签:

资源简介

MSER区域检测可用的MSER。 基于VC6.0的MSER算法实现,是实现图像匹配 图像配准的技术的代码,非常好用的

资源截图

代码片段和文件信息

// anigauss.cpp: implementation of the anigauss class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “anigauss.h“
#include 

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//#define PI 3.14159265358979323846
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
anigauss::anigauss()
{

}

anigauss::~anigauss()
{

}


/*
 *  the main function:
 *    anigauss(inbuf outbuf bufwidth bufheight sigma_v sigma_u phi
 *       derivative_order_v derivative_order_u);
 *
 *  v-axis = short axis
 *  u-axis = long axis
 *  phi = orientation angle in degrees
 *
 *  for example anisotropic data smoothing:
 *    anigauss(inptr outptr 512 512 3.0 7.0 30.0 0 0);
 *
 *  or anisotropic edge detection:
 *    anigauss(inptr outptr 512 512 3.0 7.0 30.0 1 0);
 *
 *  or anisotropic line detection:
 *    anigauss(inptr outptr 512 512 3.0 7.0 30.0 2 0);
 *
 *  or in-place anisotropic data smoothing:
 *    anigauss(bufptr bufptr 512 512 3.0 7.0 30.0 0 0);
 *
 */

               
void anigauss::ani_gauss(SRCTYPE *input DSTTYPE *output int sizex int sizeydouble sigmav double sigmau double phi int orderv int orderu)
{
    double filter[7];
    double sigmax sigmay tanp;
    double su2 sv2;
    double phirad;
    double a11 a21 a22;
    int    i;
double pi = 3.14159265358979323846;

    su2 = sigmau*sigmau;
    sv2 = sigmav*sigmav;
    phirad = phi*pi/180.;

    a11 = cos(phirad)*cos(phirad)*su2 + sin(phirad)*sin(phirad)*sv2;
    a21 = cos(phirad)*sin(phirad)*(su2-sv2);
    a22 = cos(phirad)*cos(phirad)*sv2 + sin(phirad)*sin(phirad)*su2;

    sigmax = sqrt(a11-a21*a21/a22);
    tanp = a21/a22;
    sigmay = sqrt(a22);

    /* calculate filter coefficients of x-direction*/
    YvVfilterCoef(sigmax filter);

    /* filter in the x-direction */
    f_iir_xline_filter(inputoutputsizexsizeyfilter);

    /* calculate filter coefficients in tanp-direction */
    YvVfilterCoef(sigmay filter);

    if (tanp != 0.0) {
        /* filter in the tanp-direction */
         f_iir_tline_filter(outputoutputsizexsizeyfilter tanp);
    }
    else {
        /* isotropic filter or anisotropic filter aligned with grid */
         f_iir_yline_filter(outputoutputsizexsizeyfilter);
    }

    /* do the derivative filter: [-101] rotated over phi */
    for(i=0; i        f_iir_derivative_filter(output output sizex sizey phirad-pi/2. 1);
    for(i=0; i        f_iir_derivative_filter(output output sizex sizey phirad 1);
}


void anigauss::YvVfilterCoef(double sigma double *filter)
{
    /* the recipe in the Young-van Vliet paper:
     * I.T. Young L.J. van Vliet M. va

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-09-11 01:00  MSER区域检测可用的MSER\
     文件       22854  2008-10-31 20:47  MSER区域检测可用的MSER\anigauss.cpp
     文件        1568  2008-10-31 11:08  MSER区域检测可用的MSER\anigauss.h
     文件       12566  2009-05-29 00:12  MSER区域检测可用的MSER\chi_table.h
     文件       32130  2009-05-29 15:34  MSER区域检测可用的MSER\cvmser.cpp
     文件        1125  2009-05-29 00:09  MSER区域检测可用的MSER\cvmser.h
     目录           0  2011-09-11 01:00  MSER区域检测可用的MSER\Debug\
     文件       33736  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\anigauss.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\anigauss.sbr
     文件       54002  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\ExtractMser.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\ExtractMser.sbr
     文件       22559  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MainFrm.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MainFrm.sbr
     文件     3392512  2011-09-08 22:29  MSER区域检测可用的MSER\Debug\MSER.bsc
     文件      176226  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSER.exe
     文件      380672  2011-09-08 22:29  MSER区域检测可用的MSER\Debug\MSER.ilk
     文件       25569  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSER.obj
     文件     7036600  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSER.pch
     文件      394240  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSER.pdb
     文件        7264  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSER.res
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSER.sbr
     文件       25175  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSERDoc.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSERDoc.sbr
     文件       32400  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSERView.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\MSERView.sbr
     文件      106467  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\StdAfx.obj
     文件     1369560  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\StdAfx.sbr
     文件      238592  2011-09-08 22:29  MSER区域检测可用的MSER\Debug\vc60.idb
     文件      389120  2011-09-08 22:28  MSER区域检测可用的MSER\Debug\vc60.pdb
     文件       27784  2009-05-31 17:15  MSER区域检测可用的MSER\ExtractMser.cpp
     文件        2425  2009-05-29 16:49  MSER区域检测可用的MSER\ExtractMser.h
............此处省略25个文件信息

评论

共有 条评论

相关资源