MSER区域检测可用的MSER


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区域检测可用的MSERanigauss.cpp
     文件        1568  2008-10-31 11:08  MSER区域检测可用的MSERanigauss.h
     文件       12566  2009-05-29 00:12  MSER区域检测可用的MSERchi_table.h
     文件       32130  2009-05-29 15:34  MSER区域检测可用的MSERcvmser.cpp
     文件        1125  2009-05-29 00:09  MSER区域检测可用的MSERcvmser.h
     目录           0  2011-09-11 01:00  MSER区域检测可用的MSERDebug
     文件       33736  2011-09-08 22:28  MSER区域检测可用的MSERDebuganigauss.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSERDebuganigauss.sbr
     文件       54002  2011-09-08 22:28  MSER区域检测可用的MSERDebugExtractMser.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSERDebugExtractMser.sbr
     文件       22559  2011-09-08 22:28  MSER区域检测可用的MSERDebugMainFrm.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSERDebugMainFrm.sbr
     文件     3392512  2011-09-08 22:29  MSER区域检测可用的MSERDebugMSER.bsc
     文件      176226  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSER.exe
     文件      380672  2011-09-08 22:29  MSER区域检测可用的MSERDebugMSER.ilk
     文件       25569  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSER.obj
     文件     7036600  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSER.pch
     文件      394240  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSER.pdb
     文件        7264  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSER.res
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSER.sbr
     文件       25175  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSERDoc.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSERDoc.sbr
     文件       32400  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSERView.obj
     文件           0  2011-09-08 22:28  MSER区域检测可用的MSERDebugMSERView.sbr
     文件      106467  2011-09-08 22:28  MSER区域检测可用的MSERDebugStdAfx.obj
     文件     1369560  2011-09-08 22:28  MSER区域检测可用的MSERDebugStdAfx.sbr
     文件      238592  2011-09-08 22:29  MSER区域检测可用的MSERDebugvc60.idb
     文件      389120  2011-09-08 22:28  MSER区域检测可用的MSERDebugvc60.pdb
     文件       27784  2009-05-31 17:15  MSER区域检测可用的MSERExtractMser.cpp
     文件        2425  2009-05-29 16:49  MSER区域检测可用的MSERExtractMser.h
............此处省略25个文件信息

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

发表评论

评论列表(条)