MCPcopy Create free account
hub / github.com/creatale/node-dv / icvIsOptimal

Function icvIsOptimal

deps/opencv/modules/imgproc/src/emd.cpp:687–720  ·  view source on GitHub ↗

\ * icvIsOptimal * \****************************************************************************************/

Source from the content-addressed store, hash-verified

685* icvIsOptimal *
686\****************************************************************************************/
687static float
688icvIsOptimal( float **cost, char **is_x,
689 CvNode1D * u, CvNode1D * v, int ssize, int dsize, CvNode2D * enter_x )
690{
691 float delta, min_delta = CV_EMD_INF;
692 int i, j, min_i = 0, min_j = 0;
693
694 /* find the minimal cij-ui-vj over all i,j */
695 for( i = 0; i < ssize; i++ )
696 {
697 float u_val = u[i].val;
698 float *_cost = cost[i];
699 char *_is_x = is_x[i];
700
701 for( j = 0; j < dsize; j++ )
702 {
703 if( !_is_x[j] )
704 {
705 delta = _cost[j] - u_val - v[j].val;
706 if( min_delta > delta )
707 {
708 min_delta = delta;
709 min_i = i;
710 min_j = j;
711 }
712 }
713 }
714 }
715
716 enter_x->i = min_i;
717 enter_x->j = min_j;
718
719 return min_delta;
720}
721
722/****************************************************************************************\
723* icvNewSolution *

Callers 1

cvCalcEMD2Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected