From bdd371ef26cd7ea2397e5434fb61734e9dc0084d Mon Sep 17 00:00:00 2001 From: Moritz Maxeiner <mm@ucw.sh> Date: Fri, 29 Jul 2022 18:49:53 +0200 Subject: [PATCH] Calculate and show masked grayscale image --- Src/Model/BioTrackerTrackingAlgorithm.cpp | 5 +++++ .../imageProcessor/preprocessor/ImagePreProcessor.cpp | 8 ++++++++ Src/View/TrackerParameterView.ui | 5 +++++ 3 files changed, 18 insertions(+) diff --git a/Src/Model/BioTrackerTrackingAlgorithm.cpp b/Src/Model/BioTrackerTrackingAlgorithm.cpp index f615e6e..f48cef5 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 872a624..92c2ab0 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 d3aaeff..26d1e8f 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> -- GitLab