Choose between showing img and saving it
This commit is contained in:
parent
e45f46c102
commit
01f29ca9cd
@ -15,6 +15,8 @@ int main(void)
|
|||||||
const int apertureSizeCanny = 3;
|
const int apertureSizeCanny = 3;
|
||||||
|
|
||||||
LFR lfr(videoHeight, videoWidth, thresholdBinary, gaussKernelSize, thresholdCanny1, thresholdCanny2, apertureSizeCanny);
|
LFR lfr(videoHeight, videoWidth, thresholdBinary, gaussKernelSize, thresholdCanny1, thresholdCanny2, apertureSizeCanny);
|
||||||
|
lfr.saveOutputFlag = true;
|
||||||
|
lfr.outputFileName = "/home/pi/Line-Following-Robot/AutonomousMode/tmp/test.jpg";
|
||||||
lfr.startLoop();
|
lfr.startLoop();
|
||||||
//To end the video stream, write any char in the console.
|
//To end the video stream, write any char in the console.
|
||||||
char a;
|
char a;
|
||||||
|
@ -10,6 +10,10 @@ LFR::LFR(int videoHeight, int videoWidth, int thresholdBinary, int gaussKernelSi
|
|||||||
this->thresholdCanny1 = thresholdCanny1;
|
this->thresholdCanny1 = thresholdCanny1;
|
||||||
this->thresholdCanny2 = thresholdCanny2;
|
this->thresholdCanny2 = thresholdCanny2;
|
||||||
this->apertureSizeCanny = apertureSizeCanny;
|
this->apertureSizeCanny = apertureSizeCanny;
|
||||||
|
|
||||||
|
this->videoFlag = false;
|
||||||
|
this->saveOutputFlag = false;
|
||||||
|
this->outputFileName = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
LFR::~LFR()
|
LFR::~LFR()
|
||||||
@ -22,7 +26,7 @@ LFR::~LFR()
|
|||||||
|
|
||||||
void LFR::loop()
|
void LFR::loop()
|
||||||
{
|
{
|
||||||
namedWindow("Display window");
|
if(this->videoFlag) {namedWindow("Display window");}
|
||||||
while(iAmLooping)
|
while(iAmLooping)
|
||||||
{
|
{
|
||||||
Mat image = input.readWebcam();
|
Mat image = input.readWebcam();
|
||||||
@ -32,11 +36,18 @@ void LFR::loop()
|
|||||||
{
|
{
|
||||||
line( image, Point(lines[i][0], lines[i][1]),
|
line( image, Point(lines[i][0], lines[i][1]),
|
||||||
Point( lines[i][2], lines[i][3]), (0,0,255), 1, 8 );
|
Point( lines[i][2], lines[i][3]), (0,0,255), 1, 8 );
|
||||||
}
|
}
|
||||||
imshow("Display window", image);
|
if(this->videoFlag)
|
||||||
char c = (char)waitKey(1);
|
{
|
||||||
|
imshow("Display window", image);
|
||||||
|
char c = (char)waitKey(1);
|
||||||
|
}
|
||||||
|
if (this->saveOutputFlag && !(this->outputFileName.empty()))
|
||||||
|
{
|
||||||
|
imwrite(this->outputFileName, image);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
destroyWindow("Display window");
|
if(this->videoFlag) {destroyWindow("Display window");}
|
||||||
input.freeWebcam();
|
input.freeWebcam();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,4 +62,4 @@ void LFR::endLoop()
|
|||||||
iAmLooping = false;
|
iAmLooping = false;
|
||||||
this->loopThread.join();
|
this->loopThread.join();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -39,5 +39,11 @@ public:
|
|||||||
|
|
||||||
void startLoop();
|
void startLoop();
|
||||||
void endLoop();
|
void endLoop();
|
||||||
|
|
||||||
|
|
||||||
|
bool videoFlag;
|
||||||
|
bool saveOutputFlag;
|
||||||
|
|
||||||
|
std::string outputFileName;
|
||||||
|
|
||||||
};
|
};
|
Loading…
x
Reference in New Issue
Block a user