From b75e8242a96d59d29f20a6b52ccef19a2f8bfa17 Mon Sep 17 00:00:00 2001 From: Dustin Franklin Date: Sat, 4 Mar 2023 23:38:30 -0500 Subject: [PATCH] added GetOverlayAlpha() --- c/segNet.cpp | 18 ++++++++++++++++++ c/segNet.h | 5 +++++ 2 files changed, 23 insertions(+) diff --git a/c/segNet.cpp b/c/segNet.cpp index 6c48cae97..e279c85b0 100644 --- a/c/segNet.cpp +++ b/c/segNet.cpp @@ -283,6 +283,9 @@ segNet* segNet::Create( const char* prototxt, const char* model, const char* lab net->loadClassLabels(labels_path); net->loadClassColors(colors_path); + // set overlay alpha value + net->SetOverlayAlpha(SEGNET_DEFAULT_ALPHA); + return net; } @@ -440,6 +443,21 @@ void segNet::SetClassColor( uint32_t classIndex, float r, float g, float b, floa } +// GetOverlayAlpha +float segNet::GetOverlayAlpha() const +{ + const uint32_t numClasses = GetNumClasses(); + + for( uint32_t n=0; n < numClasses; n++ ) + { + if( !mColorsAlphaSet[n] ) + return mClassColors[n].w; + } + + return SEGNET_DEFAULT_ALPHA; +} + + // SetOverlayAlpha void segNet::SetOverlayAlpha( float alpha, bool explicit_exempt ) { diff --git a/c/segNet.h b/c/segNet.h index d17ee2e01..6b9e77d44 100644 --- a/c/segNet.h +++ b/c/segNet.h @@ -287,6 +287,11 @@ class segNet : public tensorNet */ void SetClassColor( uint32_t classIndex, float r, float g, float b, float a=255.0f ); + /** + * Retrieve the overlay alpha blending value for classes that don't have it explicitly set. + */ + float GetOverlayAlpha() const; + /** * Set overlay alpha blending value for all classes (between 0-255), * (optionally except for those that have been explicitly set).