Skip to content
No results
Purple hexagonal logo with white diamond-shaped center featuring geometric star pattern design suitable for corporate branding and digital applications
LIPS®Developer
Documentation
Back To LIPS
Purple hexagonal logo with white diamond-shaped center featuring geometric star pattern design suitable for corporate branding and digital applications
LIPS®Developer
Documentation
Back To LIPS

Quick Introduction

7
  • LIPS® Documentation Overview
  • 3D Depth Camera Tech Overview
  • Depth Image
  • Understanding Depth
  • An Ideal Depth Camera
  • LIPSedge™ AE Series Camera Selection Guide
  • Frequently Asked Questions

LIPSedge Documents

57
  • LIPSMetric™ ST115b
    • User’s Manual
    • SDK Release
  • LIPSMetric™ HA110-M
    • User’s Manual
    • SDK Release
  • LIPSMetric™ HA115a
    • SDK Release
    • User’s Manual
  • LIPSMetric™ ST110d
    • User’s Manual
    • SDK Release
  • LIPSedge™ AE400 / AE450
    • LIPSedge™ AE400 / AE450 Complementary Documents
      • Certifications Documents
      • STEP files for CAD Use
      • Firmware
    • LIPSedge™ AE400 / AE450 User Guide
      • LIPSedge™ AE400 / AE450
      • User Guide
      • Previous Releases (Archive)
    • LIPSedge™ AE400 / AE450 SDK Release
      • SDK Release
      • Previous Releases (Archive)
    • LIPSedge™ AE400 / AE450 Installation
      • Installation
      • Linux
      • Windows
      • ROS Wrapper
      • NVIDIA ISAAC Wrapper
      • Persistent Connection
  • LIPSedge™ AE430 / AE470
    • LIPSedge™ AE430 / AE470 Supplementary Documents
      • Firmware
      • STEP files for CAD Use
    • LIPSedge™ AE430 / AE470 User Guide
      • LIPSedge™ AE430 / AE470
      • User Guide
      • Previous Releases (Archive)
    • LIPSedge™ AE430 / AE470 SDK Release
      • SDK Release
      • Previous Releases (Archive)
  • LIPSedge™ DL & M3 Series
    • LIPSedge™ DL & M3 Series Installation
      • Installation
      • Ubuntu
      • Windows
    • LIPSedge™ DL & M3 Supplementary Documents
      • STEP files for CAD Use
    • LIPSedge™ DL & M3 Series SDK Release
      • SDK Release
      • Changelog
      • Previous Releases (Archive)
    • LIPSedge™ DL & M3 Series User Guide
      • LIPSedge™ DL & M3 Series
      • User Guide
      • Previous Releases (Archive)
  • LIPSedge™ L215u / L210u
    • LIPSedge™ L215u / L210u User Guide
      • LIPSedge™ L215u / L210u
      • User Guide
      • Previous Releases (Archive)
    • LIPSedge™ L215u / L210u SDK Release
      • SDK Release
      • Changelog
      • Previous Releases (Archive)
    • LIPSedge™ L215u / L210u Installation
      • Installation
      • Linux
      • Windows
    • LIPSedge™ L215u / L210u Supplementary Documents
      • STEP files for CAD Use
  • LIPSedge™ L235
    •  LIPSedge™ L235 User’s Manual
    • LIPSedge™ L235 SDK Release
  • LIPSedge™ S Series
    • LIPSedge™ S Series User Guide
      •  LIPSedge™ S Series
      • User Guide
    • LIPSedge™ S Series SDK Release
      • SDK Release
    • LIPSedge™ S Series Installation
      • Windows
  • LIPSedge™ AE430-DK / AE470-DK
    • LIPSedge™ AE430-DK / AE470-DK
    • User Guide

LIPSedge™ SDK 1.x

82
  • Introduction to LIPSedge™ SDK 1.x
    • LIPSedge™ SDK 1.x
    • Benefits from LIPSedge™ SDK implementation
    • LIPSedge™ SDK 1.x Installation Architecture
    • How to identify each camera SDK
  • Tutorial and deployment
    • Tutorials
    • Development and Deployment on arm64
  • Features Articles
    • Features Articles
    • LIPSedge™ SDK Persistent Connection for PoE and USB
  • LIPSedge™ SDK Frameworks
    • LIPSedge™ SDK Frameworks
    • ROS
    • ROS2
    • NVIDIA Isaac Wrapper
    • GenICam (for Halcon / Aurora Vision)
      • GenICam (for Halcon / Aurora Vision)
      • User Manual
      • Driver(.cti) and Nodemap (.xml)
      • Supported LIPSedge™ Camera SDK
      • Installation Example
  • LIPSedge™ SDK v1.02 Tools
    • LIPSedge™ SDK v1.02 Tools
    • DepthViewer
    • PointCloudViewer
    • CameraParameterViewer
    • CameraCenterViewer
    • CameraEventListener
    • CameraPowerTest
    • LensModeSelector
    • LIPSImuReader
    • CameraSimpleViewer
    • RawFileViewer
  • LIPSedge™ SDK Languages & Libraries
    • LIPSedge™ SDK Languages & Libraries
    • OpenCV
    • C++
      • C++
      • environment-setup
      • hello-lipsedge-sdk
      • opencv-viewer
      • roi
      • depth-data
      • align-depth-color
      • range-filter
      • remove-background
      • record
      • pointcloud
      • config-resolution
      • camera-parameter
      • align
      • distance
      • grabcuts
      • measure
      • motion
      • post-processing
      • save-to-disk
      • sensor-control
    • Python
      • Python
      • environment-setup
      • hello-lipsedge-sdk
      • opencv-viewer
      • roi
      • depth-data
      • align-depth-color
      • range-filter
      • remove-background
      • record
    • Java
      • Java
      • ni-hello
    • C#
      • C#
      • ni-hello
      • simple-read
  • New Features for v1.02
    • New Features for v1.02
    • Installing and identifying packages on Windows
    • Saving Captures and Videos with the DepthViewer
    • Saving Point Cloud with PointCloudViewer
    • Live On-Screen displaying Depth, FPS
    • Live On-Screen displaying XYZ parameters in RawfileViewer
    • Distance measurement on-screen from point-to-point
    • Mouse Pointer Change
    • LIPSedge™ AE and S series Colormap new feature addition
    • Simple naming for LIPSedge™ SDK Tools
    • Importing parameters from .json files for LIPSedge™ AE and S series
  • LIPSedge™ SDK Sample Codes
    • LIPSedge™ SDK Sample Codes
    • Sample Applications & Viewer & Utilities
      • Sample Applications & Viewer & Utilities
      • ni-viewer
      • ni-pointcloud-gl
      • ni-camera-matrix

LIPSense Documents

33
  • LIPSense™ 3D Body Pose Middleware
    • LIPSense™ 3D Body Pose SDK
    • User Manual & SDK Download
    • License Management
    • Changelog
    • Previous Releases (Archive)
    • Examples
      • Python
        • Python
        • python_example
      • c#
        • SkeletonCSharp
        • C#
      • C++
        • C++
        • skeleton_example
        • skeleton_opencv
  • LIPScan 3D ™ Middleware
    • LIPScan 3D ™ Middleware
    • LIPScan 3D™ Desktop
      • LIPScan 3D™ Desktop
      • User Guide
      • Application Download
      • Release Notes
      • Previous Releases
    • LIPScan 3D™ SDK
      • LIPScan 3D™ SDK
      • User Guide
      • SDK Download
      • Release Notes
      • Previous Releases
  • LIPSFace™ SDK
    • LIPSFace™ SDK
    • LIPSFace Overview
    • Changelog
  • LIPSFace™ HW120/125 On-Device 3D Facial Recognition
    • LIPSFace™ HW120/125 On-Device 3D Facial Recognition
    • User Guide
    • SDK Download
    • STEP files for CAD Use
  • LIPSFace™ HW110/115 On-Device 3D Facial Recognition
    • LIPSFace™ HW110/115 On-Device 3D Facial Recognition
    • User Guide & SDK Download
    • STEP files for CAD Use

LIPSMetric Documents

9
  • LIPSMetric™ Measure Master
    • User’s Manual
    • SDK Release
  • LIPSMetric™ VD115 Vehicle Dimensioner
    • LIPSMetric™ VD115 Vehicle Dimensioner
  • LIPSMetric™ ST115 Static Dimensioner
    • LIPSMetric™ ST115 Static Dimensioner
    • User’s Manual
  • LIPSMetric™ ST130 Pallet Dimensioner
    • LIPSMetric™ ST130 Pallet Dimensioner
    • User Guide
  • LIPSMetric™ HA110 Handheld Dimensioner
    • LIPSMetric™ HA110 Handheld Dimensioner
    • User’s Manual

Other LIPS Documents

1
  • LIPS License Management
    • LIPS License Management
View Categories
  • Home
  • LIPS® Developer Documentation
  • LIPSedge™ SDK 1.x
  • LIPSedge™ SDK Languages & Libraries
  • C++
  • grabcuts

grabcuts

Overview #

Image segmentation using GrabCut algorithm.

Expected Outputs #

Picture3 | LIPS® Developer Documentation

Prerequisite #

  • OpenCV Viewer

Tutorial #

C++
const int MAX_FOV_DEPTH_MM = 700;
const int DISPLAY_MIN_Z = 300;
const int DISPLAY_MAX_Z = 3000;
  • MAX_FOV_DEPTH_MM defines the maximum distance (70 cm) of the points we want to keep in the foreground.
  • DISPLAY_MIN_Z and DISPLAY_MAX_Z are the depth range used to normalize and colorize the depth map.
  • These constants keep the depth filtering behavior consistent across the program.
C++
cv::Mat colorizeDepthMap(const cv::Mat& depth, const int display_min_z = DISPLAY_MIN_Z, const int display_max_z = DISPLAY_MAX_Z) {

    const double normalize_alpha = 255.0 / static_cast<double>(display_max_z - display_min_z);
    const double normalize_beta = static_cast<double>(-255.0 * display_min_z) /
        static_cast<double>(display_max_z - display_min_z);

    cv::Mat output, depth_normal;

    depth.convertTo(depth_normal, CV_8UC1, normalize_alpha, normalize_beta);

    cv::applyColorMap(depth_normal, output, cv::COLORMAP_JET);
    cv::Mat displayMask = (depth >= display_min_z) & (depth <= display_max_z);
    cv::Mat fovMask = (depth <= MAX_FOV_DEPTH_MM);
    cv::Mat finalMask = displayMask & fovMask;
    output.setTo(Scalar(0, 0, 0), ~finalMask);
    return output;
}
  • Converts a 16-bit depth image into a colorized visualization using cv::applyColorMap.
  • Normalizes depth values into 0–255 based on display_min_z and display_max_z.
  • Creates a mask that keeps only pixels:
  • Within the display range
  • Within the FOV limit (MAX_FOV_DEPTH_MM, i.e. 70 cm).
  • Pixels outside this combined mask are set to black – effectively “removing” background points beyond the desired depth.
C++
 bool regEnabled = false;
    if (device.isImageRegistrationModeSupported(IMAGE_REGISTRATION_DEPTH_TO_COLOR))
    {
        if (device.setImageRegistrationMode(IMAGE_REGISTRATION_DEPTH_TO_COLOR) == STATUS_OK)
        {
            regEnabled = true;
            cout << "[INFO] Registration enabled: DEPTH -> COLOR\n";
        }
  • Registration aligns depth pixels to the color camera viewpoint, which is critical when depth is used to mask RGB images.
C++
cv::Mat rgbDisplayMask = (depthRaw >= DISPLAY_MIN_Z) & (depthRaw <= DISPLAY_MAX_Z);
cv::Mat rgbFovMask = (depthRaw <= MAX_FOV_DEPTH_MM);
cv::Mat rgbFinalMask = rgbDisplayMask & rgbFovMask;
  • Builds a display range mask that keeps only depth values between DISPLAY_MIN_Z and DISPLAY_MAX_Z.
  • Builds a FOV mask that keeps only points closer than or equal to MAX_FOV_DEPTH_MM (70 cm).
  • Combines both masks to get the final foreground region.
  • Applies the inverse of this mask to the RGB image to set background pixels to black.
  • Effectively simulates a depth-based foreground extraction, similar in concept to GrabCut but using depth instead of interactive user input.
Updated on 2026 年 4 月 1 日

distancemeasure
Table of Contents
  • Overview
  • Expected Outputs
  • Prerequisite
  • Tutorial

#LIPS

About Us

Store

Blog

Terms of Use

DEVELOPER

Technical Support

SDK Download

Code Samples

Github

Copyright © 2026 LIPS Corporation | Privacy Policy | Cookie Policy | Do Not Sell My Personal Information