Code Monkey home page Code Monkey logo

pixs's Introduction

pixs Build Status

Pixs is an image processing library written entirely in Haskell. pixs is a command-line interface to Pixs.

TODO

  • Image Arithmetic
    • Addition
    • Subtraction
    • Multiplication
    • Division
    • Blending
    • Logical AND/NAND
    • Logical OR/NOR
    • Logical XOR/XNOR
    • Invert/Logical NOT
    • Bitshift operators
  • Point operations
    • Thresholding
    • Adaptive thresholding
    • Contrast stretching
    • Histogram equalzation
    • Logarithm operator
    • Exponentiation operator
  • Color adjustments
    • Brightness
    • Colors
    • Contrast
    • Shadows
    • Fade
  • Geometric Operations
    • Scale
    • Rotate
    • Reflect
    • Translate
    • Affine transformation
  • Analysis
    • Color histogram
    • Intensity histogram
  • Filters
    • Mean blur
    • Gaussian blur
    • Frequency filters
    • Laplacian/Laplacian of gaussian filter
    • Pixelation

pixs's People

Contributors

ayberkt avatar joom avatar sayoder avatar

Stargazers

Eren Birk avatar Yasin ATEŞ avatar Dheeraj R Reddy avatar Sampath avatar Deni Bertovic avatar Masashi Fujita avatar Fatih Kadir Akın avatar  avatar Chris A. avatar  avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

Forkers

joom sayoder fpdevil

pixs's Issues

Handle images of type other than `Image PixelRGBA8`

Right now, only 8-bit RGBA PNG images are supported. It should be straightforward to open other images in this format (Image PixelRGBA8). Something better would be to abstract over the underlying image format completely and open all images as Data.Matrixes or something like that. But the API of Image PixelRGBA8 of behaves pretty much like what we would want from a matrix so the former could be implemented as a quick fix for now.

Image arithmetic on images of unequal size

All image operations are implemented to work on images of equal size; they merely assume that the given two images are of same size. This is bad—it might result in a runtime error. Arithmetic operations should account for their operands not being of same size, either by cropping them or having a return type of Maybe (Image PixelRGBA8) and returning Nothing in that case.

Histogram size

The generated histogram has width 300 although each pixel has the greatest magnitude 255 right now, since they are simply Word8s. Someone should go through the documentation of Haskell-chart to figure out how to handle that through the API.

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.