com.jhlabs.image

Class WarpGrid


public class WarpGrid
extends java.lang.Object

A warp grid. From "A simplified approach to Image Processing" by Randy Crane

Field Summary

int
cols
int
rows
float[]
xGrid
float[]
yGrid

Constructor Summary

WarpGrid(int rows, int cols, int w, int h)

Method Summary

void
addCol(int before)
Add a new column to the grid.
void
addRow(int before)
Add a new row to the grid.
protected void
interpolateSpline(float[] xKnots, float[] yKnots, int offset, int length, float[] splineY, int splineOffset, int splineLength)
protected void
interpolateSpline2(float[] xKnots, float[] yKnots, int offset, float[] splineY, int splineOffset, int splineLength)
void
lerp(float t, WarpGrid destination, WarpGrid intermediate)
void
removeCol(int r)
Remove a column from the grid.
void
removeRow(int r)
Remove a row from the grid.
void
warp(int[] inPixels, int cols, int rows, WarpGrid sourceGrid, WarpGrid destGrid, int[] outPixels)

Field Details

cols

public int cols

rows

public int rows

xGrid

public float[] xGrid

yGrid

public float[] yGrid

Constructor Details

WarpGrid

public WarpGrid(int rows,
                int cols,
                int w,
                int h)

Method Details

addCol

public void addCol(int before)
Add a new column to the grid. "before" must be in the range 1..cols-1. i.e. you can only add columns inside the grid.

addRow

public void addRow(int before)
Add a new row to the grid. "before" must be in the range 1..rows-1. i.e. you can only add rows inside the grid.

interpolateSpline

protected void interpolateSpline(float[] xKnots,
                                 float[] yKnots,
                                 int offset,
                                 int length,
                                 float[] splineY,
                                 int splineOffset,
                                 int splineLength)

interpolateSpline2

protected void interpolateSpline2(float[] xKnots,
                                  float[] yKnots,
                                  int offset,
                                  float[] splineY,
                                  int splineOffset,
                                  int splineLength)

lerp

public void lerp(float t,
                 WarpGrid destination,
                 WarpGrid intermediate)

removeCol

public void removeCol(int r)
Remove a column from the grid.

removeRow

public void removeRow(int r)
Remove a row from the grid.

warp

public void warp(int[] inPixels,
                 int cols,
                 int rows,
                 WarpGrid sourceGrid,
                 WarpGrid destGrid,
                 int[] outPixels)