~repos /gdx-studio
git clone https://pyrossh.dev/repos/gdx-studio.git
An IDE for creating Games using libgdx and Java supported on all platforms Android, iOS, Desktop
src_libs/com/github/axet/lookup/common/ImageBinaryRGB.java
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 (rgb channels here) * * @author axet * */
public class ImageBinaryRGB implements ImageBinary {
public RGBImage image; public ImageBinaryChannel r; public ImageBinaryChannel g; public ImageBinaryChannel b;
List<ImageBinaryChannel> list;
public ImageBinaryRGB(BufferedImage img) { image = new RGBImage(); r = new ImageBinaryChannel(); g = new ImageBinaryChannel(); b = new ImageBinaryChannel();
list = Arrays.asList(new ImageBinaryChannel[] { r, g, b });
this.image.init(img); this.r.initBase(this.image.r); this.g.initBase(this.image.g); this.b.initBase(this.image.b);
for (int x = 0; x < this.image.cx; x++) { for (int y = 0; y < this.image.cy; y++) { this.image.step(x, y); this.r.step(x, y); this.g.step(x, y); this.b.step(x, y); } }
r.zeroMean = new ImageZeroMean(); g.zeroMean = new ImageZeroMean(); b.zeroMean = new ImageZeroMean(); r.zeroMean.init(r.integral); g.zeroMean.init(g.integral); b.zeroMean.init(b.integral);
for (int x = 0; x < this.image.cx; x++) { for (int y = 0; y < this.image.cy; y++) { r.zeroMean.step(x, y); g.zeroMean.step(x, y); b.zeroMean.step(x, y); } } }
public int getWidth() { return image.cx; }
public int getHeight() { return image.cy; }
public int size() { return image.cx * image.cy; }
public BufferedImage getImage() { return image.buf; }
@Override public List<ImageBinaryChannel> getChannels() { return list; }
}