X-Git-Url: https://git.realraum.at/?p=201903hackathon.git;a=blobdiff_plain;f=cpp%2FsampleOpenCV%2FsampleOpenCV.cpp;h=d0587a40698fa79b9282b1bec58846a0e84be5ec;hp=cd81a3d9ea76bd94334771f32f361d4bdfddd9c6;hb=c91f825830c1d087b7d5ed8d1c855ccde52e3069;hpb=562296742342225eb5b0d73fdbf5925854435146 diff --git a/cpp/sampleOpenCV/sampleOpenCV.cpp b/cpp/sampleOpenCV/sampleOpenCV.cpp index cd81a3d..d0587a4 100644 --- a/cpp/sampleOpenCV/sampleOpenCV.cpp +++ b/cpp/sampleOpenCV/sampleOpenCV.cpp @@ -53,6 +53,7 @@ class MyListener : public IDepthDataListener public : + MyListener() : undistortImage (false) { @@ -116,6 +117,18 @@ public : undistort (temp, zImage8, cameraMatrix, distortionCoefficients); } + if (normblurImage) + { + auto temp = zImage8.clone(); + for ( int i = 1; i < MAX_KERNEL_LENGTH; i = i + 2 ) + { + blur( temp, zImage8, Size( i, i ), Point(-1,-1) ); + } + } + + + + // scale and display the depth image scaledZImage.create (Size (data->width * 4, data->height * 4), CV_8UC1); resize (zImage8, scaledZImage, scaledZImage.size()); @@ -161,6 +174,12 @@ public : undistortImage = !undistortImage; } + void toggleNormBlur() + { + std::lock_guard lock (flagMutex); + normblurImage = !normblurImage; + } + private: // adjust z value to fit fixed scaling, here max dist is 2.5m @@ -307,6 +326,12 @@ int main (int argc, char *argv[]) // toggle the undistortion of the image listener.toggleUndistort(); } + + if (currentKey == 'b') + { + // toggle the undistortion of the image + listener.toggleNormBlur(); + } } // stop capture mode