Coder Social home page Coder Social logo

aniso-segmentation's Introduction

aniso-segmentation

A python-coded algorithm which uses MAP classification and anisotropic heat diffusion equation for image segmentation of speckled images.

references

This very simple implementation is based on the work of Gui Gao et al., A segmentation algorithm for SAR images based on the anisotropic heat diffusion equation (2008). Implementation of kernel convolution for the evaluation of anisotropic equations is adapted from P.D. Kovesi matlab implementation.

main concepts

Segmentation works with gray images and is divided into two stages:

  • coarse segmentation: an iterative maximum-a-posteriori (MAP) estimation is performed in order to classify image pixels
  • fine segmentation: anisotropic heat diffusion model is used for despeckling and smoothing the posterior probability matrixes (for details see P.Perona and J.Malik, Scale-Space and Edge Detection Using Anisotropic Diffusion (1990))

This approach was originally conceived for the elaboration of SAR (Synthetic Aperture Radar) images. In that context, valid distributions for pixel intensity include the negative exponential distribution or, more generally, the gamma distribution.

Dealing with ordinary picture, here pixel intensity is assumed to follow a normal distribution, so that evaluation of PDF and maximum-likelihood estimation can be easily handled with no need for external libraries (such as scipy).

example

A test image with four different textures is generated, then moltiplicative gaussian noise (speckle) is inserted.

Test Image

Then just type:

>>> python test.py

Result of segmentation will be saved in \test folder.

Coarse segmented

Fine segmented

aniso-segmentation's People

Contributors

andrecapi avatar

Forkers

getawork

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.