List of usage examples for org.opencv.features2d FeatureDetector read
public void read(String fileName)
From source file:samples.GripPipeline.java
License:Open Source License
/** * Detects groups of pixels in an image. * @param input The image on which to perform the find blobs. * @param minArea The minimum size of a blob that will be found * @param circularity The minimum and maximum circularity of blobs that will be found * @param darkBlobs The boolean that determines if light or dark blobs are found. * @param blobList The output where the MatOfKeyPoint is stored. */// w w w . j av a2s. c o m private void findBlobs(Mat input, double minArea, double[] circularity, Boolean darkBlobs, MatOfKeyPoint blobList) { FeatureDetector blobDet = FeatureDetector.create(FeatureDetector.SIMPLEBLOB); try { File tempFile = File.createTempFile("config", ".xml"); StringBuilder config = new StringBuilder(); config.append("<?xml version=\"1.0\"?>\n"); config.append("<opencv_storage>\n"); config.append("<thresholdStep>10.</thresholdStep>\n"); config.append("<minThreshold>50.</minThreshold>\n"); config.append("<maxThreshold>220.</maxThreshold>\n"); config.append("<minRepeatability>2</minRepeatability>\n"); config.append("<minDistBetweenBlobs>10.</minDistBetweenBlobs>\n"); config.append("<filterByColor>1</filterByColor>\n"); config.append("<blobColor>"); config.append((darkBlobs ? 0 : 255)); config.append("</blobColor>\n"); config.append("<filterByArea>1</filterByArea>\n"); config.append("<minArea>"); config.append(minArea); config.append("</minArea>\n"); config.append("<maxArea>"); config.append(Integer.MAX_VALUE); config.append("</maxArea>\n"); config.append("<filterByCircularity>1</filterByCircularity>\n"); config.append("<minCircularity>"); config.append(circularity[0]); config.append("</minCircularity>\n"); config.append("<maxCircularity>"); config.append(circularity[1]); config.append("</maxCircularity>\n"); config.append("<filterByInertia>1</filterByInertia>\n"); config.append("<minInertiaRatio>0.1</minInertiaRatio>\n"); config.append("<maxInertiaRatio>" + Integer.MAX_VALUE + "</maxInertiaRatio>\n"); config.append("<filterByConvexity>1</filterByConvexity>\n"); config.append("<minConvexity>0.95</minConvexity>\n"); config.append("<maxConvexity>" + Integer.MAX_VALUE + "</maxConvexity>\n"); config.append("</opencv_storage>\n"); FileWriter writer; writer = new FileWriter(tempFile, false); writer.write(config.toString()); writer.close(); blobDet.read(tempFile.getPath()); } catch (IOException e) { e.printStackTrace(); } blobDet.detect(input, blobList); }