package dokumenty; import java.io.File; import java.util.List; import pl.wroc.pwr.file.ImageFolderScanner; import pl.wroc.pwr.histogram.IHistogram1D; import pl.wroc.pwr.histogram.imagechannel.IntensityHistogramBuilder; import pl.wroc.pwr.image.IGSImage; import pl.wroc.pwr.image.IRGBImage; import pl.wroc.pwr.image.converter.RGBtoGSConverter; import pl.wroc.pwr.image.io.GenericLoader; import pl.wroc.pwr.imagechannel.IImageChannel; import pl.wroc.pwr.imagechannel.basic.SubImageChannel; public class DetektorTypuGrafiki { public static void main(String[] args) { DetektorTypuGrafiki detektor = new DetektorTypuGrafiki(); File folder = new File("/home/mariusz/dane/nekst/grafiki"); List obrazy = new ImageFolderScanner().apply(folder); for (File obraz : obrazy) { detektor.wykryjTyp(detektor.wczytaj(obraz), null); } } public IRGBImage wczytaj(File plik) { if (!plik.exists()) { System.out.println("Plik o zadanej nazwie nie istnieje."); return null; } IRGBImage image = new GenericLoader(plik).apply(); if (image == null) { System.out.println("Błąd odczytu obrazu."); return null; } return image; } public String wykryjTyp(IRGBImage obraz, int[] pudelko) { IGSImage grayImage = new RGBtoGSConverter(obraz).apply(); IImageChannel dane = grayImage.getGrayChannel(); if (pudelko != null) { dane = new SubImageChannel().apply(dane, pudelko); } IHistogram1D histogram = new IntensityHistogramBuilder(dane).apply(); return null; } }