LIPS® Developer Documentation
  • WELCOME
    • LIPS® Developer Documentation
    • About 3D Depth Cameras
    • Depth Image
    • Understanding Depth
    • An Ideal Depth Camera
    • LIPSedge™ AE Series Camera Selection Guide
  • 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
    • 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 v1.02 Tools
      • DepthViewer
      • PointCloudViewer
      • CameraParameterViewer
      • CameraCenterViewer
      • CameraEventListener
      • CameraPowerTest
      • LensModeSelector
      • LIPSImuReader
      • CameraSimpleViewer
      • RawFileViewer
    • Features Articles
      • LIPSedge™ SDK Persistent Connection for PoE and USB
    • Tutorials
    • Development and Deployment on arm64
  • DOCUMENTS, INSTALLATION & SETUP
    • LIPSedge™ AE400 / AE450
      • User Guide
        • Previous Releases (Archive)
      • SDK Release
        • Previous Releases (Archive)
      • Installation
        • Linux
        • Windows
        • ROS Wrapper
        • NVIDIA ISAAC Wrapper
        • Persistent Connection
      • STEP files for CAD Use
      • Certifications Documents
      • Firmware
    • LIPSedge™ AE430 / AE470
      • User Guide
        • Previous Releases (Archive)
      • SDK Release
        • Previous Releases (Archive)
      • Firmware
      • STEP files for CAD Use
    • LIPSedge™ AE430-DK / AE470-DK
      • User Guide
    • LIPSedge™ DL & M3 Series
      • User Guide
        • Previous Releases (Archive)
      • SDK Release
        • Previous Releases (Archive)
        • Changelog
      • STEP files for CAD Use
      • Installation
        • Ubuntu
        • Windows
    • LIPSedge™ L215u / L210u
      • User Guide
        • Previous Releases (Archive)
      • SDK Release
        • Previous Releases (Archive)
        • Changelog
      • Installation
        • Windows
        • Linux
      • STEP files for CAD Use
    • LIPSFace™ HW110/115 On-Device 3D Facial Recognition
      • User Guide & SDK Download
      • STEP files for CAD Use
    • LIPSFace™ HW120/125 On-Device 3D Facial Recognition
      • User Guide
      • SDK
      • STEP files for CAD Use
    • LIPScan 3D ™ Middleware
      • LIPScan 3D™ SDK
        • SDK Download
          • Previous Releases
        • User Guide
        • Release Notes
    • LIPSMetric™ HA110 Handheld Dimensioner
      • User Guide
    • LIPSMetric™ ST115 Static Dimensioner
      • User Guide
    • LIPSMetric™ ST130 Pallet Dimensioner
      • User Guide
  • LIPSedge™ SDK Languages & Libraries
    • C++
      • environment-setup
      • hello-lipsedge-sdk
      • opencv-viewer
      • roi
      • depth-data
      • align-depth-color
      • range-filter
      • remove-background
      • record
      • pointcloud
      • config-resolution
      • camera-parameter
    • Python
      • environment-setup
      • hello-lipsedge-sdk
      • opencv-viewer
      • roi
      • depth-data
      • align-depth-color
      • range-filter
      • remove-background
      • record
    • Java
      • ni-hello
    • C#
      • ni-hello
      • simple-read
    • OpenCV
  • LIPSedge™ SDK Frameworks
    • GenICam (for Halcon / Aurora Vision)
      • User Manual
      • Driver(.cti) and Nodemap (.xml)
      • Supported LIPSedge™ Camera SDK
      • Installation Example
    • ROS
    • ROS2
    • NVIDIA Isaac Wrapper
    • Flutter
  • LIPSedge™ SDK Sample Codes
    • Sample Applications & Viewer & Utilities
      • ni-viewer
      • ni-pointcloud-gl
      • ni-camera-matrix
  • LIPSFace™ SDK
    • LIPSFace™ SDK Overview
    • Updates
Powered by GitBook
On this page
  • Overview
  • Expect Output
  • Prerequisite
  • Tutorial
  • Full code
  1. LIPSedge™ SDK Languages & Libraries
  2. Python

remove-background

Previousrange-filterNextrecord

Last updated 8 months ago

Overview

This example shows you how to remove the background of an image using depth camera with range filter.

Expect Output

Prerequisite

Tutorial

thresholdValueUp = 530
thresholdValueDown = 385

input = cv2.waitKey(1)
if input == ord('p'):
    if thresholdValueUp + 5 <= 2000:
        thresholdValueUp += 5
    else:
        thresholdValueUp = 2000
    print(f"Threshold Value (Up): {thresholdValueUp} (Down): {thresholdValueDown}")

elif input == ord('o'):
    if thresholdValueUp - 5 >= 0 and thresholdValueUp - 5 >= thresholdValueDown:
        thresholdValueUp -= 5
    print(f"Threshold Value (Up): {thresholdValueUp} (Down): {thresholdValueDown}")

elif input == ord('x'):
    if thresholdValueDown + 5 <= 2000 and thresholdValueDown + 5 <= thresholdValueUp:
        thresholdValueDown += 5
    print(f"Threshold Value (Up): {thresholdValueUp} (Down): {thresholdValueDown}")

elif input == ord('z'):
    if thresholdValueDown - 5 >= 0:
        thresholdValueDown -= 5
    else:
        thresholdValueDown = 0
    print(f"Threshold Value (Up): {thresholdValueUp} (Down): {thresholdValueDown}")

elif input == ord('q'):
    break

Using these two values to create range filter mask image like we did before.

 _, thres = cv2.threshold(thres, thresholdValueDown, 1024, cv2.THRESH_TOZERO)
_, thres = cv2.threshold(thres, thresholdValueUp, 1024, cv2.THRESH_TOZERO_INV)
_, thres = cv2.threshold(thres, 1, 1024, cv2.THRESH_BINARY)

Then we use OpenCV bitwise_and operation on the color image and the mask. We also need to convert the mask to CV_8UC1 because that the format needed by bitwise_and. Finally we will get the result image that remove the background.

thres = cv2.convertScaleAbs(thres, alpha=255.0 / 1024.0)
res = cv2.bitwise_and(rgbMat, rgbMat, mask=thres)

Full code

Modify from , we add two variables to determinate the desired distance. Then add two keyboard shorcut to set these values.

OpenCV Viewer
Align Depth & Color
Range Filter
range-filter
remove-background.py