Exemplo n.º 1
0
void RouteFinder::runProcess() {
	cv::Mat grayImg, image;
	ushort imgCntBendCrossing = 0;
	ushort imgCntDone = 0;
	ushort setSpeedCnt = 0;
	m_Running = true;

	m_Controller->printString("Start", me, 1);
    while(m_Running) {
        image = m_PicCreator->GetImage();
        if (!image.empty()) {
			cv::cvtColor(image,grayImg,CV_BGR2GRAY);
			cv::Mat fltImg = cv::Mat::zeros(grayImg.rows, grayImg.cols, CV_8UC1);
			if (m_Rows == 0) {
				m_Rows = grayImg.rows;
				m_Cols = grayImg.cols;
			}
			edgeDetection(&grayImg, &fltImg);
			m_GrayImg = grayImg.clone();
			m_FinalFltImg = fltImg.clone();
			outPutNrOfIms(imgCntDone);
			setDriveState(setSpeedCnt);
			checkLaneLost();
			setBendCheck(imgCntBendCrossing);
			setCrossingSearchState(imgCntBendCrossing);
			checkCrossingPriorityLane();
			checkTargetFieldFound();
			checkMaxNrOfImgsReached(imgCntDone);
        }
    }
    m_Controller->printString("Stop", me, 1);
}
Exemplo n.º 2
0
//wraps it all together
void FindGoal::finalize()
{
    loadSrc();
    cv::Mat blurred = preProcess(src);
    std::vector<cv::Vec4i> houghLines = edgeDetection(blurred, srcCopy);
    cv::Vec4i goalCors = shapeValidation(houghLines);
    graphics(goalCors, srcCopy);
}