Giter Club home page Giter Club logo

segmentator's Introduction

segmentator

This is a simple library for image segmentation written in Golang. I need it for my CG synopsis (it is in synopsis folder), but hope it'll be usefull for You too :)

structure of the library

  1. Loading and Saving Images:

    • Load Image: func LoadImage(path, name string) (img Image, err error)
    • Save Image: func SaveImage(path, name string, img Image) (err error)
  2. Grayscale algorithms:

    • Averaging ("Quick and Dirty"): func GSAveraging(img Image)
    • Correcting the human eye ("Luma"): func GSLuma(img Image)
    • Desaturation: func GSDesaturation(img Image)
    • Decomposition (Maximal and Minimal): func GSDecomposition(img Image, do int) (err error)
    • Single Color Channel (Red, Green or Blue): func GSDecomposition(img Image, do int) (err error)
  3. First generation algorithms:

    • Based on Edge-Detection:
      • Roberts operator: func FGEDRoberts(img Image, do int) (err error)
      • Previtt operator: func FGEDPrevitt(img Image, do int) (err error)
      • Sobel operator: func FGEDSobel(img Image, do int) (err error)
      • Scharr operator: func FGEDScharr(img Image, do int) (err error)
      • Custom operator: func FGEDCustomOperators(img Image, GxOp, GyOp [][]int, do int) (err error)
    • Based on Pixel Classification:
      • Simple Iterative: func FGPCIterative(img Image) (threshold int)
      • Otsu: func FGPCOtsuThresholding2(img Image) (threshold int)
      • Custom: FGPCThreshold(img Image, thresholds []int, colors []Pixel) (err error)
  4. Helpers:

    • abs: func abs(value int) int
    • min: func min(values ...int) int
    • max: func max(values ...int) int

important notes

  1. Disputes on which coordinate system to use when processing images continues to the day. I prefer Gonsales-Woods varinant:

Coordinate System

segmentator's People

Contributors

masyagin1998 avatar

Watchers

James Cloos avatar  avatar

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.