Corrections for compiling issues in Win, And and Doc

This commit is contained in:
Juan Manuel Perez 2013-09-23 21:24:27 +02:00 committed by Vadim Pisarevsky
parent 61c27ac81e
commit fe7bab499f
14 changed files with 37 additions and 43 deletions

View File

@ -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. ::

View File

@ -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:

View File

@ -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);
} }

View File

@ -139,4 +139,3 @@ private:
int m_iFrom; int m_iFrom;
int m_iTo; int m_iTo;
}; };

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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
{ {

View File

@ -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(); }

View File

@ -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++ )
{ {