You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem is in the SimpleIntensityDownsample class.
I modified TestImageDataSet test class I see (afther downsampling) the same result for different images also with non changes in image resolution (please sees the example below).
My TestImageDataSet is the following:
public void testImageDataSet() {
try {
///////////////////////////////////////////////////////////////
JFrame frame1 = new JFrame();
frame1.setVisible(true);
Image image1 = frame1.createImage(100, 100);
Graphics g1 = image1.getGraphics();
g1.setColor(Color.BLACK);
g1.fillRect(0, 0, 100, 100);
g1.setColor(Color.WHITE);
g1.fillRect(0, 0, 50, 50);
g1.dispose();
///////////////////////////////////////////////////////////////
JFrame frame2 = new JFrame();
frame2.setVisible(true);
Image image2 = frame2.createImage(100, 100);
Graphics g2 = image2.getGraphics();
g2.setColor(Color.BLACK);
g2.fillRect(0, 0, 100, 100);
g2.setColor(Color.WHITE);
g2.fillRect(0, 0, 25, 25);
g2.dispose();
///////////////////////////////////////////////////////////////
JFrame frame3 = new JFrame();
frame3.setVisible(true);
Image image3 = frame3.createImage(100, 100);
Graphics g3 = image3.getGraphics();
g3.setColor(Color.BLACK);
g3.fillRect(0, 0, 100, 100);
g3.setColor(Color.WHITE);
g3.fillRect(0, 0, 75, 75);
g3.dispose();
//////>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Downsample downsample = new SimpleIntensityDownsample();
ImageMLDataSet set = new ImageMLDataSet(downsample, true, -1, 1);
BasicMLData ideal1 = new BasicMLData(1);
ImageMLData input1 = new ImageMLData(image1);
set.add(input1, ideal1);
BasicMLData ideal2 = new BasicMLData(2);
ImageMLData input2 = new ImageMLData(image2);
set.add(input2, ideal2);
BasicMLData ideal3 = new BasicMLData(3);
ImageMLData input3 = new ImageMLData(image3);
set.add(input3, ideal3);
set.downsample(100, 100);
for (int t1 = 0; t1 < set.size(); t1++) {
System.out.println("t1 " + t1);
MLDataPair ot1 = set.get(t1);
for (int t2 = t1 + 1; t2 < set.size(); t2++) {
MLDataPair ot2 = set.get(t2);
int hd = 0;
for (int i = 0; i < ot1.getInput().size(); i++) {
if (ot1.getInput().getData(i) != ot2.getInput().getData(i)) {
hd++;
}
}
System.out.println(":" + ot1.getInput().size() + ":HD(" + t1 + "," + t2 + ")=" + hd);
}
}
//Assert.assertEquals(d[0],-1.0, 0.1);
//Assert.assertEquals(d[5],1, 0.1);
// just "flex" these for no exceptions
input1.toString();
input1.setImage(input1.getImage());
} catch (HeadlessException ex) {
// ignore if we are running headless (i.e. the build server)
}
}
Regards
Fabio
The text was updated successfully, but these errors were encountered:
The problem is in the SimpleIntensityDownsample class.
I modified TestImageDataSet test class I see (afther downsampling) the same result for different images also with non changes in image resolution (please sees the example below).
My TestImageDataSet is the following:
Regards
Fabio
The text was updated successfully, but these errors were encountered: