hip-1.5.4.0: Haskell Image Processing (HIP) Library.

Copyright(c) Alexey Kuleshevich 2017
LicenseBSD3
MaintainerAlexey Kuleshevich <lehins@yandex.ru>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Graphics.Image.IO.Histogram

Description

 
Synopsis

Documentation

data Histogram Source #

A single channel histogram of an image.

Constructors

Histogram 

Fields

type Histograms = [Histogram] Source #

For now it is just a type synonym, but in the future it might become a custom data type with fields like title, width, heigth, etc.

class ChannelColour cs where Source #

Methods

csColour :: cs -> AlphaColour Double Source #

Get a pure colour representation of a channel.

Instances
ChannelColour YCbCrA Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour YCbCr Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour YA Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour Y Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour RGBA Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour RGB Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour HSIA Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour HSI Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour CMYKA Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour CMYK Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

ChannelColour X Source # 
Instance details

Defined in Graphics.Image.IO.Histogram

getHistograms :: forall arr cs e. (ChannelColour cs, MArray arr X e, Array arr X e, MArray arr cs e, Array arr cs e) => Image arr cs e -> Histograms Source #

Create a histogram per channel with 256 bins each.

getHistogram :: MArray arr X e => Image arr X e -> Histogram Source #

Generate a histogram with 256 bins for a single channel Gray image.

equalizeHistogram :: (ToY cs e, Array arr cs e, Array arr Y Double, Array arr X Word8, MArray arr X Word8) => Image arr cs e -> Image arr Y Double Source #

Converts an image to Luma and performs histogram equalization.

cdf :: MArray arr X e => Image arr X e -> Vector Double Source #

Discrete cumulative distribution function.

displayHistograms :: Histograms -> IO () Source #

Display image histograms using an external program. Works in a similar way as displayImage.

>>> frog <- readImageRGB VU "images/frog.jpg"
>>> displayHistograms $ getHistograms frog

writeHistograms :: FilePath -> Histograms -> IO () Source #

Write histograms into a PNG image file.

>>> frog <- readImageRGB VU "images/frog.jpg"
>>> writeHistograms "images/frog_histogram.svg" $ getHistograms frog