package com.github.axet.lookup.common;
import java.awt.image.BufferedImage;
import java.util.Arrays;
import java.util.List;
/**
* Container for ImageBinary class for each channel (one gray channel here)
*
* @author axet
*
*/
public class ImageBinaryGrey implements ImageBinary {
public GrayImage gi;
public ImageBinaryChannel gray;
List<ImageBinaryChannel> list;
public ImageBinaryGrey(BufferedImage img) {
gi = new GrayImage();
gray = new ImageBinaryChannel();
list = Arrays.asList(new ImageBinaryChannel[] { gray });
this.gi.init(img);
this.gray.initBase(gi);
for (int x = 0; x < this.gi.cx; x++) {
for (int y = 0; y < this.gi.cy; y++) {
this.gi.step(x, y);
this.gray.step(x, y);
}
}
gray.zeroMean = new ImageZeroMean(gray.integral);
}
public int getWidth() {
return gi.cx;
}
public int getHeight() {
return gi.cy;
}
public int size() {
return gi.cx * gi.cy;
}
public BufferedImage getImage() {
return gi.buf;
}
@Override
public List<ImageBinaryChannel> getChannels() {
return list;
}
}