📄 emd.h
字号:
#ifndef _EMD_H#define _EMD_H/*14/10/06Earth Movers Distance mex interface for MATLABBased on the implementation by Rubner http://ai.stanford.edu/~rubner/emd/default.htmMasoud Alipourmpoloton@yahoo.com*//* emd.h Last update: 3/24/98 An implementation of the Earth Movers Distance. Based of the solution for the Transportation problem as described in "Introduction to Mathematical Programming" by F. S. Hillier and G. J. Lieberman, McGraw-Hill, 1990. Copyright (C) 1998 Yossi Rubner Computer Science Department, Stanford University E-Mail: rubner@cs.stanford.edu URL: http://vision.stanford.edu/~rubner*/#include "mex.h"#define printf mexPrintf/* DEFINITIONS */#define MAX_SIG_SIZE 300#define MAX_ITERATIONS 500#define INFINITY 1e20#define EPSILON 1e-6/*****************************************************************************//* feature_t SHOULD BE MODIFIED BY THE USER TO REFLECT THE FEATURE TYPE */typedef int feature_t;/*****************************************************************************/typedef struct{ int n; /* Number of features in the signature */ feature_t *Features; /* Pointer to the features vector */ float *Weights; /* Pointer to the weights of the features */} signature_t;typedef struct{ int from; /* Feature number in signature 1 */ int to; /* Feature number in signature 2 */ float amount; /* Amount of flow from "from" to "to" */} flow_t;float emd(signature_t *Signature1, signature_t *Signature2, float (*func)(feature_t *, feature_t *), flow_t *Flow, int *FlowSize);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -