Corrections for compiling issues in Win, And and Doc
This commit is contained in:
parent
61c27ac81e
commit
fe7bab499f
@ -70,7 +70,7 @@ An Chi based cost extraction. ::
|
|||||||
CV_EXPORTS_W Ptr<HistogramCostExtractor> createChiHistogramCostExtractor(int nDummies=25, float defaultCost=0.2);
|
CV_EXPORTS_W Ptr<HistogramCostExtractor> createChiHistogramCostExtractor(int nDummies=25, float defaultCost=0.2);
|
||||||
|
|
||||||
EMDL1HistogramCostExtractor
|
EMDL1HistogramCostExtractor
|
||||||
-------------------------
|
---------------------------
|
||||||
.. ocv:class:: EMDL1HistogramCostExtractor : public HistogramCostExtractor
|
.. ocv:class:: EMDL1HistogramCostExtractor : public HistogramCostExtractor
|
||||||
|
|
||||||
An EMD-L1 based cost extraction. ::
|
An EMD-L1 based cost extraction. ::
|
||||||
|
@ -88,7 +88,7 @@ public:
|
|||||||
virtual void read(const FileNode& fn)
|
virtual void read(const FileNode& fn)
|
||||||
{
|
{
|
||||||
CV_Assert( (String)fn["name"] == name_ );
|
CV_Assert( (String)fn["name"] == name_ );
|
||||||
fullAffine = (int)fn["affine_type"];
|
fullAffine = (bool)int(fn["affine_type"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -393,9 +393,9 @@ bool EmdL1::greedySolution3()
|
|||||||
|
|
||||||
//- determine which direction to move, either right or upward
|
//- determine which direction to move, either right or upward
|
||||||
dFlow = D[i1][i2][i3];
|
dFlow = D[i1][i2][i3];
|
||||||
f1 = i1<(binsDim1-1)?fabs(dFlow+d1s[i1+1]):VHIGH;
|
f1 = i1<(binsDim1-1)?(float)fabs(dFlow+d1s[i1+1]):VHIGH;
|
||||||
f2 = i2<(binsDim2-1)?fabs(dFlow+d2s[i2+1]):VHIGH;
|
f2 = i2<(binsDim2-1)?(float)fabs(dFlow+d2s[i2+1]):VHIGH;
|
||||||
f3 = i3<(binsDim3-1)?fabs(dFlow+d3s[i3+1]):VHIGH;
|
f3 = i3<(binsDim3-1)?(float)fabs(dFlow+d3s[i3+1]):VHIGH;
|
||||||
|
|
||||||
if(f1<f2 && f1<f3)
|
if(f1<f2 && f1<f3)
|
||||||
{
|
{
|
||||||
@ -791,4 +791,3 @@ float cv::EMDL1(InputArray _signature1, InputArray _signature2)
|
|||||||
EmdL1 emdl1;
|
EmdL1 emdl1;
|
||||||
return emdl1.getEMDL1(signature1, signature2);
|
return emdl1.getEMDL1(signature1, signature2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,4 +139,3 @@ private:
|
|||||||
int m_iFrom;
|
int m_iFrom;
|
||||||
int m_iTo;
|
int m_iTo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ public:
|
|||||||
{
|
{
|
||||||
CV_Assert( (String)fn["name"] == name_ );
|
CV_Assert( (String)fn["name"] == name_ );
|
||||||
distanceFlag = (int)fn["distance"];
|
distanceFlag = (int)fn["distance"];
|
||||||
rankProportion = (int)fn["rank"];
|
rankProportion = (float)fn["rank"];
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -111,7 +111,7 @@ static float _apply(const Mat &set1, const Mat &set2, int distType, double propR
|
|||||||
for (int c=0; c<disMat.cols; c++)
|
for (int c=0; c<disMat.cols; c++)
|
||||||
{
|
{
|
||||||
Point2f diff = set1.at<Point2f>(0,r)-set2.at<Point2f>(0,c);
|
Point2f diff = set1.at<Point2f>(0,r)-set2.at<Point2f>(0,c);
|
||||||
disMat.at<float>(r,c) = norm(Mat(diff), distType);
|
disMat.at<float>(r,c) = (float)norm(Mat(diff), distType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,5 +147,3 @@ Ptr <HausdorffDistanceExtractor> createHausdorffDistanceExtractor(int distanceFl
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // cv
|
} // cv
|
||||||
|
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ void NormHistogramCostExtractorImpl::buildCostMatrix(InputArray _descriptors1, I
|
|||||||
if (i<scd1.rows && j<scd2.rows)
|
if (i<scd1.rows && j<scd2.rows)
|
||||||
{
|
{
|
||||||
Mat columnDiff = scd1.row(i)-scd2.row(j);
|
Mat columnDiff = scd1.row(i)-scd2.row(j);
|
||||||
costMatrix.at<float>(i,j)=norm(columnDiff, flag);
|
costMatrix.at<float>(i,j)=(float)norm(columnDiff, flag);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -288,11 +288,11 @@ void EMDHistogramCostExtractorImpl::buildCostMatrix(InputArray _descriptors1, In
|
|||||||
sig2.col(0)=scd2.row(j).t();
|
sig2.col(0)=scd2.row(j).t();
|
||||||
for (int k=0; k<sig1.rows; k++)
|
for (int k=0; k<sig1.rows; k++)
|
||||||
{
|
{
|
||||||
sig1.at<float>(k,1)=k;
|
sig1.at<float>(k,1)=float(k);
|
||||||
}
|
}
|
||||||
for (int k=0; k<sig2.rows; k++)
|
for (int k=0; k<sig2.rows; k++)
|
||||||
{
|
{
|
||||||
sig2.at<float>(k,1)=k;
|
sig2.at<float>(k,1)=float(k);
|
||||||
}
|
}
|
||||||
|
|
||||||
costMatrix.at<float>(i,j) = cv::EMD(sig1, sig2, flag);
|
costMatrix.at<float>(i,j) = cv::EMD(sig1, sig2, flag);
|
||||||
@ -543,5 +543,3 @@ Ptr <HistogramCostExtractor> createEMDL1HistogramCostExtractor(int nDummies, flo
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // cv
|
} // cv
|
||||||
|
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ protected:
|
|||||||
{
|
{
|
||||||
for (int j=0; j<contourMat.cols; j++)
|
for (int j=0; j<contourMat.cols; j++)
|
||||||
{
|
{
|
||||||
disMatrix.at<float>(i,j) = norm( cv::Mat(contourMat.at<cv::Point2f>(0,i)-contourMat.at<cv::Point2f>(0,j)), cv::NORM_L2 );
|
disMatrix.at<float>(i,j) = (float)norm( cv::Mat(contourMat.at<cv::Point2f>(0,i)-contourMat.at<cv::Point2f>(0,j)), cv::NORM_L2 );
|
||||||
if (_meanDistance<0)
|
if (_meanDistance<0)
|
||||||
{
|
{
|
||||||
if (queryInliers.size()>0)
|
if (queryInliers.size()>0)
|
||||||
@ -193,7 +193,7 @@ protected:
|
|||||||
|
|
||||||
if (_meanDistance<0)
|
if (_meanDistance<0)
|
||||||
{
|
{
|
||||||
meanDistance=mean(disMatrix, mask)[0];
|
meanDistance=(float)mean(disMatrix, mask)[0];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -239,7 +239,7 @@ protected:
|
|||||||
float refAngle = atan2(refPt.y, refPt.x);
|
float refAngle = atan2(refPt.y, refPt.x);
|
||||||
angleMatrix.at<float>(i,j) -= refAngle;
|
angleMatrix.at<float>(i,j) -= refAngle;
|
||||||
}
|
}
|
||||||
angleMatrix.at<float>(i,j) = fmod(angleMatrix.at<float>(i,j)+FLT_EPSILON,2*CV_PI)+CV_PI;
|
angleMatrix.at<float>(i,j) = float(fmod(double(angleMatrix.at<float>(i,j)+(double)FLT_EPSILON),2*CV_PI)+CV_PI);
|
||||||
//angleMatrix.at<float>(i,j) = 1+floor( angleMatrix.at<float>(i,j)*nAngularBins/(2*CV_PI) );
|
//angleMatrix.at<float>(i,j) = 1+floor( angleMatrix.at<float>(i,j)*nAngularBins/(2*CV_PI) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -426,7 +426,7 @@ protected:
|
|||||||
for (j = 0; j < costMatrix.rows; j++)
|
for (j = 0; j < costMatrix.rows; j++)
|
||||||
{
|
{
|
||||||
d[j] = costMatrix.at<float>(freerow,j) - v[j];
|
d[j] = costMatrix.at<float>(freerow,j) - v[j];
|
||||||
pred[j] = freerow;
|
pred[j] = float(freerow);
|
||||||
collist[j] = j; // init column list.
|
collist[j] = j; // init column list.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -479,7 +479,7 @@ protected:
|
|||||||
v2 = costMatrix.at<float>(i,j) - v[j] - h;
|
v2 = costMatrix.at<float>(i,j) - v[j] - h;
|
||||||
if (v2 < d[j])
|
if (v2 < d[j])
|
||||||
{
|
{
|
||||||
pred[j] = i;
|
pred[j] = float(i);
|
||||||
if (v2 == min)
|
if (v2 == min)
|
||||||
{
|
{
|
||||||
if (colsol[j] < 0)
|
if (colsol[j] < 0)
|
||||||
@ -511,7 +511,7 @@ protected:
|
|||||||
// reset row and column assignments along the alternating path.
|
// reset row and column assignments along the alternating path.
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
i = pred[endofpath];
|
i = int(pred[endofpath]);
|
||||||
colsol[endofpath] = i;
|
colsol[endofpath] = i;
|
||||||
j1 = endofpath;
|
j1 = endofpath;
|
||||||
endofpath = rowsol[i];
|
endofpath = rowsol[i];
|
||||||
@ -526,7 +526,7 @@ protected:
|
|||||||
{
|
{
|
||||||
double minval;
|
double minval;
|
||||||
minMaxIdx(trueCostMatrix.row(nrow), &minval);
|
minMaxIdx(trueCostMatrix.row(nrow), &minval);
|
||||||
leftcost+=minval;
|
leftcost+=float(minval);
|
||||||
}
|
}
|
||||||
leftcost /= trueCostMatrix.rows;
|
leftcost /= trueCostMatrix.rows;
|
||||||
|
|
||||||
@ -535,7 +535,7 @@ protected:
|
|||||||
{
|
{
|
||||||
double minval;
|
double minval;
|
||||||
minMaxIdx(trueCostMatrix.col(ncol), &minval);
|
minMaxIdx(trueCostMatrix.col(ncol), &minval);
|
||||||
rightcost+=minval;
|
rightcost+=float(minval);
|
||||||
}
|
}
|
||||||
rightcost /= trueCostMatrix.cols;
|
rightcost /= trueCostMatrix.cols;
|
||||||
|
|
||||||
@ -815,7 +815,7 @@ float ShapeContextDistanceExtractorImpl::computeDistance(InputArray contour1, In
|
|||||||
{
|
{
|
||||||
float xx = sset1.at<Point2f>(0,pt).x;
|
float xx = sset1.at<Point2f>(0,pt).x;
|
||||||
float yy = sset1.at<Point2f>(0,pt).y;
|
float yy = sset1.at<Point2f>(0,pt).y;
|
||||||
float val = std::exp( -( (xx-jj)*(xx-jj) + (yy-ii)*(yy-ii) )/(2*sigma*sigma) ) / (sigma*sigma*2*CV_PI);
|
float val = float(std::exp( -float( (xx-jj)*(xx-jj) + (yy-ii)*(yy-ii) )/(2*sigma*sigma) ) / (sigma*sigma*2*CV_PI));
|
||||||
gaussWindow.at<float>(ii,jj) += val;
|
gaussWindow.at<float>(ii,jj) += val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -831,7 +831,7 @@ float ShapeContextDistanceExtractorImpl::computeDistance(InputArray contour1, In
|
|||||||
appIm.at<float>(ii,jj) = elema*elemb;
|
appIm.at<float>(ii,jj) = elema*elemb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
iAppearance = cv::sum(appIm)[0]/sset1.cols;
|
iAppearance = float(cv::sum(appIm)[0]/sset1.cols);
|
||||||
}
|
}
|
||||||
sDistance = matcher.getMatchingCost();
|
sDistance = matcher.getMatchingCost();
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ protected:
|
|||||||
String name_;
|
String name_;
|
||||||
};
|
};
|
||||||
|
|
||||||
static double distance(Point2f p, Point2f q)
|
static float distance(Point2f p, Point2f q)
|
||||||
{
|
{
|
||||||
Point2f diff = p - q;
|
Point2f diff = p - q;
|
||||||
float norma = diff.x*diff.x + diff.y*diff.y;// - 2*diff.x*diff.y;
|
float norma = diff.x*diff.x + diff.y*diff.y;// - 2*diff.x*diff.y;
|
||||||
@ -237,7 +237,7 @@ void ThinPlateSplineShapeTransformerImpl::estimateTransformation(InputArray _pts
|
|||||||
{
|
{
|
||||||
if (i==j)
|
if (i==j)
|
||||||
{
|
{
|
||||||
matK.at<float>(i,j)=regularizationParameter;
|
matK.at<float>(i,j)=float(regularizationParameter);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -87,7 +87,7 @@ vector<Point2f> CV_HaussTest::normalizeContour(const vector<Point> &contour)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
disMat.at<float>(ii,jj)=
|
disMat.at<float>(ii,jj)=
|
||||||
fabs(contour[ii].x*contour[jj].x)+fabs(contour[ii].y*contour[jj].y);
|
float(fabs(double(contour[ii].x*contour[jj].x)))+float(fabs(double(contour[ii].y*contour[jj].y)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
meanpt.x+=contour[ii].x;
|
meanpt.x+=contour[ii].x;
|
||||||
@ -95,7 +95,7 @@ vector<Point2f> CV_HaussTest::normalizeContour(const vector<Point> &contour)
|
|||||||
}
|
}
|
||||||
meanpt.x/=contour.size();
|
meanpt.x/=contour.size();
|
||||||
meanpt.y/=contour.size();
|
meanpt.y/=contour.size();
|
||||||
meanVal=cv::mean(disMat)[0];
|
meanVal=float(cv::mean(disMat)[0]);
|
||||||
for (size_t ii=0; ii<contour.size(); ii++)
|
for (size_t ii=0; ii<contour.size(); ii++)
|
||||||
{
|
{
|
||||||
output[ii].x = (contour[ii].x-meanpt.x)/meanVal;
|
output[ii].x = (contour[ii].x-meanpt.x)/meanVal;
|
||||||
@ -274,7 +274,7 @@ void CV_HaussTest::run(int /* */)
|
|||||||
{
|
{
|
||||||
mpegTest();
|
mpegTest();
|
||||||
displayMPEGResults();
|
displayMPEGResults();
|
||||||
ts->set_failed_test_info(cvtest::TS::OK);
|
ts->set_failed_test_info(cvtest::TS::OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Hauss, regression) { CV_HaussTest test; test.safe_run(); }
|
TEST(Hauss, regression) { CV_HaussTest test; test.safe_run(); }
|
||||||
|
@ -75,7 +75,7 @@ int main(int argc, char** argv)
|
|||||||
imshow("QUERY", queryToShow);
|
imshow("QUERY", queryToShow);
|
||||||
moveWindow("TEST", 0,0);
|
moveWindow("TEST", 0,0);
|
||||||
vector<Point> contQuery = simpleContour(query);
|
vector<Point> contQuery = simpleContour(query);
|
||||||
int bestMatch;
|
int bestMatch = 0;
|
||||||
float bestDis=FLT_MAX;
|
float bestDis=FLT_MAX;
|
||||||
for ( int ii=1; ii<=20; ii++ )
|
for ( int ii=1; ii<=20; ii++ )
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user