All Projects → mbalatsko → opencv-rolling-ball

mbalatsko / opencv-rolling-ball

Licence: MIT License
Fully Ported to Python from ImageJ's Background Subtractor. Rolling ball and sliding paraboloid background subtraction algorithms.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to opencv-rolling-ball

django bgRemoverML
A Machine Learning Project integrated with Django to Remove Background from Image .
Stars: ✭ 136 (+300%)
Mutual labels:  background-subtraction
flika
An interactive image processing program for biologists written in Python.
Stars: ✭ 20 (-41.18%)
Mutual labels:  imagej
knip
KNIME Image Processing Extension
Stars: ✭ 45 (+32.35%)
Mutual labels:  imagej
grabcut
A MATLAB Implementation of GrabCut (Excluding Border Matting and User Editing)
Stars: ✭ 31 (-8.82%)
Mutual labels:  background-subtraction
imagej macros and scripts
ImageJ macros and scripts written at the imaging facility MRI
Stars: ✭ 19 (-44.12%)
Mutual labels:  imagej
Scripts
🔬🍸 Home of the ImageJ BAR: A collection of Broadly Applicable Routines for ImageJ
Stars: ✭ 18 (-47.06%)
Mutual labels:  imagej
Edge-Detection-project
Tiny Image in Javascript - Edge Detection Algorithms
Stars: ✭ 27 (-20.59%)
Mutual labels:  imagej
ai-background-remove
Cut out objects and remove backgrounds from pictures with artificial intelligence
Stars: ✭ 70 (+105.88%)
Mutual labels:  background-subtraction
imagingbook-common
Common Java library for digital image processing books by Burger & Burge (OBSOLETE!)
Stars: ✭ 13 (-61.76%)
Mutual labels:  imagej
sciview
sciview is a tool for visualization and interaction with ND image and mesh data
Stars: ✭ 50 (+47.06%)
Mutual labels:  imagej
surfacecast
SurfaceCast: send background-subtracted depth camera video via GStreamer (with optional perspective correction)
Stars: ✭ 22 (-35.29%)
Mutual labels:  background-subtraction
ostd
Online Stochastic Tensor Decomposition for Background Subtraction in Multispectral Video Sequences
Stars: ✭ 21 (-38.24%)
Mutual labels:  background-subtraction
MorphoLibJ
Collection of mathematical morphology methods and plugins for ImageJ
Stars: ✭ 84 (+147.06%)
Mutual labels:  imagej
OLSTEC
OnLine Low-rank Subspace tracking by TEnsor CP Decomposition in Matlab: Version 1.0.1
Stars: ✭ 30 (-11.76%)
Mutual labels:  background-subtraction
iterative-grabcut
This algorithm uses a rectangle made by the user to identify the foreground item. Then, the user can edit to add or remove objects to the foreground. Then, it removes the background and makes it transparent.
Stars: ✭ 35 (+2.94%)
Mutual labels:  background-subtraction
imagingbook-public
Image processing software for textbooks by W. Burger & M. Burge
Stars: ✭ 11 (-67.65%)
Mutual labels:  imagej
BoneJ2
Plugins for bone image analysis
Stars: ✭ 17 (-50%)
Mutual labels:  imagej
Bgslibrary
A C++ Background Subtraction Library with wrappers for Python, MATLAB, Java and GUI on QT
Stars: ✭ 1,838 (+5305.88%)
Mutual labels:  background-subtraction
person segmentation tf2.0
Using deepLabv3+ to segment humans
Stars: ✭ 53 (+55.88%)
Mutual labels:  background-subtraction

Rolling ball and sliding paraboloid background subtraction algorithms

PyPI version Downloads License: MIT

Fully Ported to Python from ImageJ's Background Subtractor. Only works for 8-bit greyscale images currently. Based on the concept of the rolling ball algorithm described in Stanley Sternberg's article, "Biomedical Image Processing", IEEE Computer, January 1983. Imagine that the 2D grayscale image has a third (height) dimension by the image value at every point in the image, creating a surface. A ball of given radius is rolled over the bottom side of this surface; the hull of the volume reachable by the ball is the background. http://rsbweb.nih.gov/ij/developer/source/ij/plugin/filter/BackgroundSubtracter.java.html

This algorithms are perfect for microscope images, to distinguish particles from background.

Installation

pip install opencv-rolling-ball

Usage

import cv2
from cv2_rolling_ball import subtract_background_rolling_ball

img = cv2.imread(f'path/to/img.tif', 0)
img, background = subtract_background_rolling_ball(img, 30, light_background=True,
                                     use_paraboloid=False, do_presmooth=True)

Example outputs

Input

Input

Subtracted background

Background

Without background

Without background

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].