当前位置: 代码迷 >> 其他开发语言 >> 求大神帮小弟我把c++转换成matlab语言,一小段一小段也行
  详细解决方案

求大神帮小弟我把c++转换成matlab语言,一小段一小段也行

热度:264   发布时间:2016-05-02 04:04:38.0
求大神帮我把c++转换成matlab语言,一小段一小段也行
// anny.cpp: implementation of the Canny class.
//
//////////////////////////////////////////////////////////////////////

#include "anny.h"
#include "math.h"
//#include "algorithms.h"
//#include "algorithm.h"
#include "stdlib.h"
//#include "maths.h"
//using namespace std;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Canny::Canny(int PicHeight,int PicWidth,double ** PicData,double PicSigma,double  PicRatioLow,double PicRatioHigh)
{
 iHeight=PicHeight;
 iWidth=PicWidth;
 iData=PicData;
 sigma=PicSigma;
 dRatioLow=PicRatioLow;
 dRatioHigh=PicRatioHigh;
}

Canny::~Canny()
{

}

void Canny::CannyArith(int **iEdgePoint)
{
 int i;
 int **iGradX ;                       // 指向x方向导数的指针
    int **iGradY ;                         // 指向y方向导数的指针
    int **iExtent ;                      // 梯度的幅度
 iGradX=new int *[iHeight];
 for(i=0;i<iHeight;i++) 
  iGradX[i]=new int[iWidth];
 iGradY=new int *[iHeight];
 for(i=0;i<iHeight;i++) 
  iGradY[i]=new int[iWidth];
 iExtent=new int *[iHeight];
 for(i=0;i<iHeight;i++) 
  iExtent[i]=new int[iWidth];
 
 // 对原图象进行滤波
         GaussionSmooth();
// 计算X,Y方向上的方向导数
    DirGrad(iGradX,iGradY); 
    // 计算梯度的幅度
    GradExtent(iGradX,iGradY,iExtent);
    // 应用non-maximum 抑制
   NonMaxSuppress(iExtent,iGradX,iGradY,iEdgePoint);
 // 应用Hysteresis,找到所有的边界
    Hysteresis(iExtent,iEdgePoint);
 // 释放内存
 for(i=0;i<iHeight;i++)  
        delete  []*(iGradX+i);  
    delete   iGradX;
 for(i=0;i<iHeight;i++)  
        delete  []*(iGradY+i);  
    delete   iGradY;
 for(i=0;i<iHeight;i++)  
        delete  []*(iExtent+i);  
    delete   iExtent; 
 
 
}



 
void Canny::GaussionSmooth()
{
 int i,j,k;                             //循环变量
 int iWindowSize;                       //记录模板大小的变量
 int iHalfLen;                          //模板大小的一半
  相关解决方案