use of boofcv.struct.image.GrayS32 in project BoofCV by lessthanoptimal.
the class TestWatershedVincentSoille1991_Connect4 method example5.
@Test
public void example5() {
GrayU8 image = new GrayU8(5, 4);
image.data = new byte[] { 1, 1, 1, 5, 5, 1, 1, 1, 5, 5, 0, 1, 1, 5, 5, 1, 1, 1, 5, 5 };
WatershedVincentSoille1991 alg = new WatershedVincentSoille1991.Connect4();
alg.process(image);
GrayS32 found = alg.getOutput();
// found.print();
assertEquals(2, alg.getTotalRegions());
for (int y = 0; y < image.height; y++) {
for (int x = 0; x < image.width; x++) {
assertEquals(1, found.get(x, y));
}
}
}
use of boofcv.struct.image.GrayS32 in project BoofCV by lessthanoptimal.
the class TestWatershedVincentSoille1991_Connect4 method example0.
@Test
public void example0() {
GrayU8 image = new GrayU8(3, 4);
image.data = new byte[] { 1, 5, 1, 1, 5, 1, 1, 5, 1, 1, 5, 1 };
WatershedVincentSoille1991 alg = new WatershedVincentSoille1991.Connect4();
alg.process(image);
assertEquals(3, alg.getTotalRegions());
GrayS32 found = alg.getOutput();
int a = found.get(0, 0);
int b = found.get(2, 0);
assertTrue(a > 0);
assertTrue(b > 0);
assertTrue(a != b);
for (int y = 0; y < image.height; y++) {
assertEquals(a, found.get(0, y));
assertEquals(0, found.get(1, y));
assertEquals(b, found.get(2, y));
}
}
use of boofcv.struct.image.GrayS32 in project BoofCV by lessthanoptimal.
the class TestWatershedVincentSoille1991_Connect4 method exampleSeeds0.
@Test
public void exampleSeeds0() {
GrayU8 image = new GrayU8(4, 4);
image.data = new byte[] { 1, 5, 5, 1, 1, 5, 5, 1, 1, 5, 5, 1, 1, 5, 5, 1 };
GrayS32 seed = new GrayS32(4, 4);
seed.data = new int[] { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
WatershedVincentSoille1991 alg = new WatershedVincentSoille1991.Connect4();
alg.process(image, seed);
GrayS32 found = alg.getOutput();
// the whole thing should be filled with 1
for (int y = 0; y < image.height; y++) {
for (int x = 0; x < image.width; x++) {
assertEquals(1, found.get(x, y));
}
}
}
use of boofcv.struct.image.GrayS32 in project BoofCV by lessthanoptimal.
the class TestWatershedVincentSoille1991_Connect4 method exampleSeeds2.
@Test
public void exampleSeeds2() {
GrayU8 image = new GrayU8(4, 4);
image.data = new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };
// try multiple seeds
GrayS32 seed = new GrayS32(4, 4);
seed.data = new int[] { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 };
int[] expected = new int[] { 1, 1, 1, 0, 1, 1, 0, 2, 1, 0, 2, 2, 0, 2, 2, 2 };
WatershedVincentSoille1991 alg = new WatershedVincentSoille1991.Connect4();
alg.process(image, seed);
GrayS32 found = alg.getOutput();
// found.print();
int index = 0;
for (int y = 0; y < image.height; y++) {
for (int x = 0; x < image.width; x++) {
assertEquals(expected[index++], found.get(x, y));
}
}
}
use of boofcv.struct.image.GrayS32 in project BoofCV by lessthanoptimal.
the class TestWatershedVincentSoille1991_Connect4 method example1.
@Test
public void example1() {
GrayU8 image = new GrayU8(4, 4);
image.data = new byte[] { 1, 5, 5, 1, 1, 5, 5, 1, 1, 5, 5, 1, 1, 5, 5, 1 };
WatershedVincentSoille1991 alg = new WatershedVincentSoille1991.Connect4();
alg.process(image);
assertEquals(3, alg.getTotalRegions());
GrayS32 found = alg.getOutput();
int a = found.get(0, 0);
int b = found.get(3, 0);
assertTrue(a > 0);
assertTrue(b > 0);
assertTrue(a != b);
for (int y = 0; y < image.height; y++) {
assertEquals(a, found.get(0, y));
assertEquals(a, found.get(1, y));
assertEquals(b, found.get(2, y));
assertEquals(b, found.get(3, y));
}
}
Aggregations