当前位置: 首页>>代码示例>>Java>>正文


Java UtilImageIO类代码示例

本文整理汇总了Java中boofcv.io.image.UtilImageIO的典型用法代码示例。如果您正苦于以下问题:Java UtilImageIO类的具体用法?Java UtilImageIO怎么用?Java UtilImageIO使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


UtilImageIO类属于boofcv.io.image包,在下文中一共展示了UtilImageIO类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
    FeatureFinder[] finders = new FeatureFinder[] {
            new FindCardColourFeatures(),
            new FindCardShadingFeatures(),
            new FindCardShapeFeatures()
    };
    for (FeatureFinder finder : finders) {
        List<String> summaries = new ArrayList<>();
        for (File file : new File("data/train-out").listFiles((dir, name) -> name.matches(".*\\.jpg"))) {
            BufferedImage image = UtilImageIO.loadImage(file.getAbsolutePath());
            double[] features = finder.find(image, false);
            if (features != null) {
                summaries.add(finder.getSummaryLine(file.getAbsolutePath(), features));
            }
        }
        Path p = Paths.get("data/train-out-" + finder.getFileSuffix());
        Files.write(p, summaries);
    }
}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:20,代码来源:CreateTrainingDataV1.java

示例2: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
        FeatureFinder[] finders = new FeatureFinder[] {
                new FindCardColourFeatures(2),
//                new FindCardShadingFeatures(),
//                new FindCardShapeFeatures()
        };
        for (FeatureFinder finder : finders) {
            List<String> summaries = new ArrayList<>();
            for (File d : TrainingDataV2.LABELLED_DIRECTORY.listFiles((dir, name) -> !name.matches("\\..*"))) {
                for (File file : d.listFiles((dir, name) -> name.matches(".*\\.jpg"))) {
                    BufferedImage image = UtilImageIO.loadImage(file.getAbsolutePath());
                    double[] features = finder.find(image, false);
                    if (features != null) {
                        summaries.add(finder.getSummaryLine(file.getAbsolutePath(), features));
                    }
                }
            }
            Path p = Paths.get("data/train-out-" + finder.getFileSuffix());
            Files.write(p, summaries);
        }
    }
 
开发者ID:tomwhite,项目名称:set-game,代码行数:22,代码来源:CreateTrainingDataV2.java

示例3: computeAccuracyOnTrainingData

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static double computeAccuracyOnTrainingData() throws IOException {
    FindCardNumberFeatures cardFeatureCounter = new FindCardNumberFeatures();
    int correct = 0;
    int total = 0;
    for (File file : new File("data/train-out").listFiles((dir, name) -> name.matches(".*\\.jpg"))) {
        System.out.println(file);
        int predictedNumber = (int) cardFeatureCounter.find(UtilImageIO.loadImage(file.getAbsolutePath()), false)[0];
        int actualNumber = cardFeatureCounter.getLabelFromFilename(file.getName());
        if (predictedNumber == actualNumber) {
            correct++;
        } else {
            System.out.println("Incorrect, predicted " + predictedNumber);
        }
        total++;
    }
    System.out.println("Correct: " + correct);
    System.out.println("Total: " + total);
    double accuracy = ((double) correct)/total * 100;
    System.out.println("Accuracy: " + ((int) accuracy) + " percent");
    return accuracy;
}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:22,代码来源:PredictCardNumberOnTrainingData.java

示例4: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
    File testFile = new File("data/20170106_205743.jpg");
    CardDetector cardDetector = new CardDetector();
    List<CardImage> images = cardDetector.detect(testFile.getAbsolutePath(), false);
    List<Card> cards = Files.lines(Paths.get(testFile.getAbsolutePath().replace(".jpg", ".txt")))
            .map(Card::new)
            .collect(Collectors.toList());
    File outDir = new File("data/test-v2");;
    outDir.mkdirs();
    for (int i = 0; i < images.size(); i++) {
        CardImage image = images.get(i);
        Card card = cards.get(i);
        File labelledDirectory = new File(outDir, card.getDescription().replace(" ", "-"));
        labelledDirectory.mkdirs();
        File newFile = new File(labelledDirectory, testFile.getName().replace(".jpg", "_" + (i + 1) + ".jpg"));
        UtilImageIO.saveImage(image.getImage(), newFile.getAbsolutePath());
    }

}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:20,代码来源:CreateTestSetV2.java

示例5: view

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void view(File directory) {
    ListDisplayPanel panel = new ListDisplayPanel();
    int numCols = 20;

    int numImagesPerLabel = -1;
    char prevNumLabel = ' ';
    for (File d : directory.listFiles((dir, name) -> !name.matches("\\..*"))) {
        String label = d.getName();
        BufferedImage[] bufferedImages = Arrays.stream(d.listFiles((dir, name) -> name.matches(".*\\.jpg")))
                .map(f -> UtilImageIO.loadImage(f.getAbsolutePath()))
                .map(bi -> resize(bi, bi.getWidth() / 3, bi.getHeight() / 3))
                .collect(Collectors.toList())
                .toArray(new BufferedImage[0]);
        panel.addItem(new ImageGridPanel((bufferedImages.length / numCols) + 1, numCols, bufferedImages), label);
        System.out.println(label + "\t" + bufferedImages.length);
        if (prevNumLabel != label.charAt(0)) {
            numImagesPerLabel = bufferedImages.length;
            prevNumLabel = label.charAt(0);
        } else if (numImagesPerLabel != bufferedImages.length) {
            throw new IllegalStateException("Expected " + numImagesPerLabel + " images, but only found " + bufferedImages.length + " for " + label);
        }
    }

    ShowImages.showWindow(panel, ViewLabelledImagesV2.class.getSimpleName(), true);
}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:26,代码来源:ViewLabelledImagesV2.java

示例6: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main(String[] args) throws IOException {
    if (!RAW_LABELLED_DIRECTORY.exists()) {
        CardDetector cardDetector = new CardDetector(4, 66);
        File outDir = RAW_LABELLED_DIRECTORY;
        outDir.mkdirs();
        for (File d : RAW_SORTED_DIRECTORY.listFiles((dir, name) -> name.matches("\\d"))) {
            int numberLabel = Integer.valueOf(d.getName());
            for (File file : d.listFiles((dir, name) -> name.matches(".*\\.jpg"))) {
                System.out.println(file);
                List<CardImage> images = cardDetector.detect(file.getAbsolutePath(), false, true, 3, 9);
                int i = 0;
                for (CardImage image : images) {
                    Card card = new Card(numberLabel, (i % 9) / 3, i / 9, i % 3);
                    File labelledDirectory = new File(outDir, card.getDescription().replace(" ", "-"));
                    labelledDirectory.mkdirs();
                    File newFile = new File(labelledDirectory, file.getName().replace(".jpg", "_" + numberLabel + "_" + i + ".jpg"));
                    UtilImageIO.saveImage(image.getImage(), newFile.getAbsolutePath());
                    i++;
                }
            }
        }
    }

    ViewLabelledImagesV2.view(RAW_LABELLED_DIRECTORY);
}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:26,代码来源:CreateTrainingSetV2.java

示例7: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main(String[] args) {
    CardDetector cardDetector = new CardDetector();
    File outDir = new File("data/train-out");
    outDir.mkdirs();
    Arrays.stream(new File("data/train").listFiles((dir, name) -> name.matches(".*\\.jpg"))).forEach(
            file -> {
                try {
                    System.out.println(file);
                    List<CardImage> images = cardDetector.detect(file.getAbsolutePath());
                    int i = 1;
                    for (CardImage image : images) {
                        File newFile = new File(outDir, file.getName().replace(".jpg", "_" + i++ + ".jpg"));
                        UtilImageIO.saveImage(image.getImage(), newFile.getAbsolutePath());
                    }
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
    );
}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:21,代码来源:CreateTrainingSetV1.java

示例8: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main(String[] args) {
    CardDetector cardDetector = new CardDetector();
    File outDir = new File("data/test-out");
    outDir.mkdirs();
    File file = new File("data/20170106_205743.jpg");
    try {
        System.out.println(file);
        List<CardImage> images = cardDetector.detect(file.getAbsolutePath());
        int i = 1;
        for (CardImage image : images) {
            File newFile = new File(outDir, file.getName().replace(".jpg", "_" + i++ + ".jpg"));
            UtilImageIO.saveImage(image.getImage(), newFile.getAbsolutePath());
        }
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
 
开发者ID:tomwhite,项目名称:set-game,代码行数:18,代码来源:CreateTestSetV1.java

示例9: init

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
@Override
public void init(RunConfig config) throws InvalidTestFormatException {
	super.init(config);
	File file = new File(GR.getGoldenDir(), goldenFileName);
	try {
		rnd = new Random(repeats);
		InputStream inImageStream = MTTestResourceManager.openFileAsInputStream(file.getPath());
		ImageUInt8 inImage = UtilImageIO.loadPGM_U8(inImageStream, (ImageUInt8) null);
		ImageFloat32 convImage = ConvertImage.convert(inImage,
				(ImageFloat32) null);
		levels = 4;
		denoiser = FactoryImageDenoise.waveletBayes(ImageFloat32.class,
				levels, 0, 255);
		noisy = convImage.clone();
		denoisy = convImage.clone();
	} catch (IOException e) {
		throw new GoldenFileNotFoundException(file, this.getClass());
	}
}
 
开发者ID:android-workloads,项目名称:JACWfA,代码行数:20,代码来源:DenoiseBayes.java

示例10: init

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
@Override
public void init(RunConfig config) throws InvalidTestFormatException {
	super.init(config);
	File file = new File(GR.getGoldenDir(), goldenFileName);
	try {
		rnd = new Random(repeats);
		InputStream inImageStream = MTTestResourceManager.openFileAsInputStream(file.getPath());
		ImageUInt8 inImage = UtilImageIO.loadPGM_U8(inImageStream, (ImageUInt8) null);
		ImageFloat32 convImage = ConvertImage.convert(inImage, (ImageFloat32) null);
		levels = 4;
		denoiser = FactoryImageDenoise.waveletSure(ImageFloat32.class, levels, 0, 255);
		noisy = convImage.clone();
		denoisy = convImage.clone();
	} catch (IOException e) {
		throw new GoldenFileNotFoundException(file, this.getClass());
	}
}
 
开发者ID:android-workloads,项目名称:JACWfA,代码行数:18,代码来源:DenoiseSure.java

示例11: init

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
@Override
public void init(RunConfig config) throws InvalidTestFormatException {
	super.init(config);

	File file = new File(GR.getGoldenDir(), goldenFileName);
	try {
		InputStream inImageStream = MTTestResourceManager.openFileAsInputStream(file.getPath());
		ImageUInt8 inImage = UtilImageIO.loadPGM_U8(inImageStream, (ImageUInt8) null);
		image = ConvertImage.convert(inImage, (ImageFloat32) null);
		ImageUInt8 bin = new ImageUInt8(image.width, image.height);
		double mean = ImageStatistics.mean(image);
		ThresholdImageOps.threshold(image, bin, (float) mean, true);
		filtered = BinaryImageOps.erode8(bin, 1, null);
		filtered = BinaryImageOps.dilate8(filtered, 1, null);
	} catch (IOException e) {
		throw new GoldenFileNotFoundException(file, this.getClass());
	}
}
 
开发者ID:android-workloads,项目名称:JACWfA,代码行数:19,代码来源:FitEllipse.java

示例12: init

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
@Override
public void init(RunConfig config) throws InvalidTestFormatException {
	super.init(config);

	File file = new File(GR.getGoldenDir(), goldenFileName);
	try {
		rnd = new Random(repeats);
		InputStream inImageStream = MTTestResourceManager.openFileAsInputStream(file.getPath());
		ImageUInt8 inImage = UtilImageIO.loadPGM_U8(inImageStream, (ImageUInt8) null);
		ImageFloat32 convImage = ConvertImage.convert(inImage,
				(ImageFloat32) null);
		levels = 4;
		denoiser = FactoryImageDenoise.waveletVisu(ImageFloat32.class,
				levels, 0, 255);
		noisy = convImage.clone();
		denoisy = convImage.clone();
	} catch (IOException e) {
		throw new GoldenFileNotFoundException(file, this.getClass());
	}
}
 
开发者ID:android-workloads,项目名称:JACWfA,代码行数:21,代码来源:DenoiseVisu.java

示例13: processKinect

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
@Override
public void processKinect(MultiSpectral<ImageUInt8> rgb, ImageUInt16 depth, long timeRgb, long timeDepth) {
	System.out.println(frameNumber+"  "+timeRgb);
	try {
		logFile.write(String.format("%10d %d %d\n",frameNumber,timeRgb,timeDepth).getBytes());
		logFile.flush();
		UtilImageIO.savePPM(rgb, String.format("log/rgb%07d.ppm", frameNumber), buffer);
		UtilOpenKinect.saveDepth(depth, String.format("log/depth%07d.depth", frameNumber), buffer);
		frameNumber++;

		if( showImage ) {
			ConvertBufferedImage.convertTo_U8(rgb,buffRgb);
			gui.repaint();
		}
	} catch (IOException e) {
		e.printStackTrace();
	}
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:19,代码来源:LogKinectDataApp.java

示例14: main

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
public static void main( String args[] ) {

		// load images with lens distortion removed
		String dir = "../data/applet/stereo/";
		BufferedImage imageA = UtilImageIO.loadImage(dir + "mono_wall_01.jpg");
		BufferedImage imageB = UtilImageIO.loadImage(dir + "mono_wall_03.jpg");

		// Find a set of point feature matches
		List<AssociatedPair> matches = ExampleFundamentalMatrix.computeMatches(imageA,imageB);

		// Prune matches using the epipolar constraint
		List<AssociatedPair> inliers = new ArrayList<AssociatedPair>();
		DenseMatrix64F F = ExampleFundamentalMatrix.robustFundamental(matches, inliers);

		// display the inlier matches found using the robust estimator
		AssociationPanel panel = new AssociationPanel(20);
		panel.setAssociation(inliers);
		panel.setImages(imageA,imageB);

		ShowImages.showWindow(panel, "Inlier Pairs");

		rectify(F,inliers,imageA,imageB);
	}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:24,代码来源:ExampleRectifyUncalibratedStereo.java

示例15: sharpen

import boofcv.io.image.UtilImageIO; //导入依赖的package包/类
/**
	 * When an image is sharpened the intensity of edges are made more extreme while flat regions remain unchanged.
	 */
	public static void sharpen() {
//		BufferedImage buffered = UtilImageIO.loadImage("../data/applet/enhance/dull.jpg");
		BufferedImage buffered = UtilImageIO.loadImage("../data/applet/enhance/dark.jpg");
		ImageUInt8 gray = ConvertBufferedImage.convertFrom(buffered,(ImageUInt8)null);
		ImageUInt8 adjusted = new ImageUInt8(gray.width, gray.height);


		ListDisplayPanel panel = new ListDisplayPanel();

		EnhanceImageOps.sharpen4(gray, adjusted);
		panel.addImage(ConvertBufferedImage.convertTo(adjusted,null),"Sharpen-4");

		EnhanceImageOps.sharpen8(gray, adjusted);
		panel.addImage(ConvertBufferedImage.convertTo(adjusted,null),"Sharpen-8");

		panel.addImage(ConvertBufferedImage.convertTo(gray,null),"Original");

		panel.setPreferredSize(new Dimension(gray.width,gray.height));
		ShowImages.showWindow(panel,"Sharpen");
	}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:24,代码来源:ExampleImageEnhancement.java


注:本文中的boofcv.io.image.UtilImageIO类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。