diff --git a/Src/Model/BioTrackerTrackingAlgorithm.cpp b/Src/Model/BioTrackerTrackingAlgorithm.cpp index f615e6e2273de05ea934601d16491e2732578e42..f48cef5b300be9b9d1fafede0b2d19f8d5fa15e5 100644 --- a/Src/Model/BioTrackerTrackingAlgorithm.cpp +++ b/Src/Model/BioTrackerTrackingAlgorithm.cpp @@ -104,6 +104,11 @@ void BioTrackerTrackingAlgorithm::sendSelectedImage( Q_EMIT emitCvMatA(sendImage, QString("Closed Mask")); Q_EMIT emitChangeDisplayImage(QString("Closed Mask")); break; + case 5: + sendImage = images->find(std::string("Masked Greyscale"))->second; + Q_EMIT emitCvMatA(sendImage, QString("Masked Greyscale")); + Q_EMIT emitChangeDisplayImage(QString("Masked Greyscale")); + break; } } diff --git a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp index 872a6244d5acf564bb0ba9f0888306b14af98fc7..92c2ab0c2712276d6875d05658e3eebbee0a11a2 100644 --- a/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp +++ b/Src/Model/TrackingAlgorithm/imageProcessor/preprocessor/ImagePreProcessor.cpp @@ -105,6 +105,8 @@ std::map<std::string, std::shared_ptr<cv::Mat>> ImagePreProcessor::preProcess( std::shared_ptr<cv::Mat> openedMask = std::make_shared<cv::Mat>(); std::shared_ptr<cv::Mat> closedMask = std::make_shared<cv::Mat>(); + std::shared_ptr<cv::Mat> maskedGrey = std::make_shared<cv::Mat>(); + cv::cvtColor(*p_image, *greyMat, cv::COLOR_BGR2GRAY); // 1. step: do the background subtraction @@ -119,6 +121,9 @@ std::map<std::string, std::shared_ptr<cv::Mat>> ImagePreProcessor::preProcess( *closedMask = erode( dilate(*openedMask, m_TrackingParameter->getClosingDilationSize()), m_TrackingParameter->getClosingErosionSize()); + + // 4. step: masked greyscale image + greyMat->copyTo(*maskedGrey, *closedMask); std::map<std::string, std::shared_ptr<cv::Mat>> all; all.insert(std::pair<std::string, std::shared_ptr<cv::Mat>>( @@ -136,6 +141,9 @@ std::map<std::string, std::shared_ptr<cv::Mat>> ImagePreProcessor::preProcess( all.insert(std::pair<std::string, std::shared_ptr<cv::Mat>>( std::string("Closed Mask"), closedMask)); + all.insert(std::pair<std::string, std::shared_ptr<cv::Mat>>( + std::string("Masked Greyscale"), + maskedGrey)); return all; } diff --git a/Src/View/TrackerParameterView.ui b/Src/View/TrackerParameterView.ui index d3aaeffdab2e9d9af67c7e352bb5fdebea8d2330..26d1e8f59732d01220dde6ace1fc975a749325aa 100644 --- a/Src/View/TrackerParameterView.ui +++ b/Src/View/TrackerParameterView.ui @@ -475,6 +475,11 @@ <string>Closed Mask</string> </property> </item> + <item> + <property name="text"> + <string>Masked Greyscale</string> + </property> + </item> </widget> </item> </layout>