patch-image-llvm

Safe HaskellNone
LanguageHaskell98

MatchImageBorders

Description

This is an approach for stitching images at narrow bands along lines of small image differences. We start with rotated and placed rectangular image masks and then start to remove pixels from the borders of the image masks in the order of decreasing pixel value differences. For the sake of simplicity we calculate the difference of a pixel value to the average of all pixel values at a certain position. We do not recalculate the average if a pixel is removed from the priority queue.

Documentation

findBorder :: (Ix i, Enum i, Ix j, Enum j) => CArray (i, j) Bool -> Set (i, j) Source

prepareShaping :: (Ix i, Enum i, Ix j, Enum j) => [(CArray (i, j) Bool, CArray (i, j) Float)] -> IO ([IOCArray (i, j) Location], MaxPQueue Float ((IOCArray (i, j) Location, CArray (i, j) Float), (i, j))) Source