|
|
@ -350,13 +350,48 @@ class PointBase {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*returns minimum and maximum X and Y values from pointbase
|
|
|
|
|
|
|
|
minX,maxX,minY,maxY
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
std::vector <double> getEdgeValues()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
double minX=999;
|
|
|
|
|
|
|
|
double maxX=0;
|
|
|
|
|
|
|
|
double minY=900000;
|
|
|
|
|
|
|
|
double maxY=0;
|
|
|
|
|
|
|
|
std::vector <double> res(4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (Point2d coords: points)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (coords.x < minX) minX=coords.x;
|
|
|
|
|
|
|
|
if (coords.x > maxX) maxX=coords.x;
|
|
|
|
|
|
|
|
if (coords.y < minY) minY=coords.y;
|
|
|
|
|
|
|
|
if (coords.y > maxY) maxY=coords.y;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
res[0]=minX;
|
|
|
|
|
|
|
|
res[1]=maxX;
|
|
|
|
|
|
|
|
res[2]=minY;
|
|
|
|
|
|
|
|
res[3]=maxY;
|
|
|
|
|
|
|
|
return(res);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void cumdump(int imgWidth,int imgHeight)
|
|
|
|
void cumdump(int imgWidth,int imgHeight)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
std::vector <double> edges;
|
|
|
|
|
|
|
|
edges = getEdgeValues();
|
|
|
|
|
|
|
|
double minX=edges[0];
|
|
|
|
|
|
|
|
double maxX=edges[1];
|
|
|
|
|
|
|
|
double minY=edges[2];
|
|
|
|
|
|
|
|
double maxY=edges[3];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mat img = Mat::zeros((int)(maxY*(imgHeight/imgHeightDeg))+imgHeight,(int)((360/imgWidthDeg)*imgWidth) + imgWidth,CV_8UC3);
|
|
|
|
|
|
|
|
rectangle(img,Point(3,3),Point(15,15),Scalar(128,128, 0),2,2,0);
|
|
|
|
|
|
|
|
|
|
|
|
int imgIdx = 0;
|
|
|
|
int imgIdx = 0;
|
|
|
|
//main loop
|
|
|
|
//main loop
|
|
|
@ -405,7 +440,7 @@ class PointBase {
|
|
|
|
|
|
|
|
|
|
|
|
//stitching
|
|
|
|
//stitching
|
|
|
|
// Define object to store the stitched image
|
|
|
|
// Define object to store the stitched image
|
|
|
|
|
|
|
|
/* a funct was created for this, see getEdgeValues()
|
|
|
|
double minX=999;
|
|
|
|
double minX=999;
|
|
|
|
double maxX=0;
|
|
|
|
double maxX=0;
|
|
|
|
double minY=900000;
|
|
|
|
double minY=900000;
|
|
|
@ -418,17 +453,18 @@ class PointBase {
|
|
|
|
if (coords.y < minY) minY=coords.y;
|
|
|
|
if (coords.y < minY) minY=coords.y;
|
|
|
|
if (coords.y > maxY) maxY=coords.y;
|
|
|
|
if (coords.y > maxY) maxY=coords.y;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
int xDiff = (int)round(maxX)-(int)round(minX);
|
|
|
|
int xDiff = (int)round(maxX)-(int)round(minX);
|
|
|
|
int yDiff = (int)round(maxY)-(int)round(minY);
|
|
|
|
int yDiff = (int)round(maxY)-(int)round(minY);
|
|
|
|
cout <<xDiff <<"\n";
|
|
|
|
cout <<xDiff <<"\n";
|
|
|
|
cout <<yDiff <<"\n";
|
|
|
|
cout <<yDiff <<"\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//img creation put to beginning of funcion
|
|
|
|
|
|
|
|
/*
|
|
|
|
Mat img = Mat::zeros((int)(maxY*(imgHeight/imgHeightDeg))+imgHeight,(int)((360/imgWidthDeg)*imgWidth) + imgWidth,CV_8UC3);
|
|
|
|
Mat img = Mat::zeros((int)(maxY*(imgHeight/imgHeightDeg))+imgHeight,(int)((360/imgWidthDeg)*imgWidth) + imgWidth,CV_8UC3);
|
|
|
|
rectangle(img,Point(3,3),Point(15,15),Scalar(128,128, 0),2,2,0);
|
|
|
|
rectangle(img,Point(3,3),Point(15,15),Scalar(128,128, 0),2,2,0);
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//open stream for logging
|
|
|
|
//open stream for logging
|
|
|
@ -466,8 +502,10 @@ class PointBase {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
logFile.close();
|
|
|
|
logFile.close();
|
|
|
|
string resultName = "result" + to_string(imgIdx) +".png";
|
|
|
|
string resultName = "result" + to_string(imgIdx) +".png";
|
|
|
|
imwrite(resultName, img);
|
|
|
|
//imshow("fag",img);
|
|
|
|
imgIdx++;
|
|
|
|
//waitKey(0);
|
|
|
|
|
|
|
|
//imwrite(resultName, img);
|
|
|
|
|
|
|
|
//imgIdx++;
|
|
|
|
|
|
|
|
|
|
|
|
//stitching
|
|
|
|
//stitching
|
|
|
|
/*
|
|
|
|
/*
|
|
|
@ -498,7 +536,7 @@ class PointBase {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
imwrite("result0GIOJSDFI.png", img);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|