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


Java FactoryDetectLineAlgs类代码示例

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


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

示例1: detectLineSegments

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
/**
 * Detects segments inside the image
 *
 * @param image Input image.
 * @param imageType Type of image processed by line detector.
 * @param derivType Type of image derivative.
 */
public static<T extends ImageSingleBand, D extends ImageSingleBand>
void detectLineSegments( BufferedImage image ,
						 Class<T> imageType ,
						 Class<D> derivType )
{
	// convert the line into a single band image
	T input = ConvertBufferedImage.convertFromSingle(image, null, imageType );

	// Comment/uncomment to try a different type of line detector
	DetectLineSegmentsGridRansac<T,D> detector = FactoryDetectLineAlgs.lineRansac(40, 30, 2.36, true, imageType, derivType);

	List<LineSegment2D_F32> found = detector.detect(input);

	// display the results
	ImageLinePanel gui = new ImageLinePanel();
	gui.setBackground(image);
	gui.setLineSegments(found);
	gui.setPreferredSize(new Dimension(image.getWidth(),image.getHeight()));

	ShowImages.showWindow(gui,"Found Line Segments");
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:29,代码来源:ExampleLineDetection.java

示例2: DetectLineApp

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public DetectLineApp( Class<T> imageType , Class<D> derivType ) {
	super(1);

	this.imageType = imageType;

	addAlgorithm(0,"Hough Polar", FactoryDetectLineAlgs.houghPolar(3, 30, 2, Math.PI / 180, edgeThreshold, maxLines, imageType, derivType));
	addAlgorithm(0,"Hough Foot", FactoryDetectLineAlgs.houghFoot(3, 8, 5, edgeThreshold, maxLines, imageType, derivType));
	addAlgorithm(0,"Hough Foot Sub Image", FactoryDetectLineAlgs.houghFootSub(3, 8, 5, edgeThreshold, maxLines, 2, 2, imageType, derivType));
	addAlgorithm(0,"Grid Line", FactoryDetectLineAlgs.lineRansac(40, 30, 2.36, true, imageType, derivType));

	input = GeneralizedImageOps.createSingleBand(imageType, 1, 1);
	inputCorrupted = GeneralizedImageOps.createSingleBand(imageType, 1, 1);
	blur = GeneralizedImageOps.createSingleBand(imageType, 1, 1);

	JPanel viewArea = new JPanel(new BorderLayout());
	corruptPanel = new ImageCorruptPanel();
	corruptPanel.setListener(this);

	viewArea.add(corruptPanel,BorderLayout.WEST);
	viewArea.add(gui,BorderLayout.CENTER);
	setMainGUI(viewArea);
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:23,代码来源:DetectLineApp.java

示例3: process

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public void process( BufferedImage image ) {
	I input = GeneralizedImageOps.createSingleBand(imageType, image.getWidth(), image.getHeight());
	I blur = GeneralizedImageOps.createSingleBand(imageType, image.getWidth(), image.getHeight());

	ConvertBufferedImage.convertFromSingle(image, input, imageType);
	GBlurImageOps.gaussian(input, blur, -1, 2, null);

	DetectLineHoughFoot<I,D> alg =  FactoryDetectLineAlgs.houghFoot(6, 12, 5, 25, 10, imageType, derivType);

	ImageLinePanel gui = new ImageLinePanel();
	gui.setBackground(image);
	gui.setLines(alg.detect(blur));
	gui.setPreferredSize(new Dimension(image.getWidth(),image.getHeight()));

	BufferedImage renderedTran = VisualizeImageData.grayMagnitude(alg.getTransform().getTransform(),null,-1);
	BufferedImage renderedBinary = VisualizeBinaryData.renderBinary(alg.getBinary(), null);

	ShowImages.showWindow(renderedBinary,"Detected Edges");
	ShowImages.showWindow(renderedTran,"Parameter Space");
	ShowImages.showWindow(gui,"Detected Lines");
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:22,代码来源:VisualizeHoughFoot.java

示例4: process

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public void process( BufferedImage image ) {
	I input = GeneralizedImageOps.createSingleBand(imageType, image.getWidth(), image.getHeight());
	I blur = GeneralizedImageOps.createSingleBand(imageType, image.getWidth(), image.getHeight());

	ConvertBufferedImage.convertFromSingle(image, input, imageType);
	GBlurImageOps.gaussian(input, blur, -1, 2, null);

	DetectLineHoughPolar<I,D> alg =  FactoryDetectLineAlgs.houghPolar(5, 10, 2, Math.PI / 180, 25, 10, imageType, derivType);

	List<LineParametric2D_F32> lines = alg.detect(blur);

	ImageLinePanel gui = new ImageLinePanel();
	gui.setBackground(image);
	gui.setLines(lines);
	gui.setPreferredSize(new Dimension(image.getWidth(),image.getHeight()));

	BufferedImage renderedTran = VisualizeImageData.grayMagnitude(alg.getTransform().getTransform(),null,-1);
	BufferedImage renderedBinary = VisualizeBinaryData.renderBinary(alg.getBinary(), null);

	ShowImages.showWindow(renderedBinary,"Detected Edges");
	ShowImages.showWindow(renderedTran,"Parameter Space");
	ShowImages.showWindow(gui,"Detected Lines");
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:24,代码来源:VisualizeHoughPolar.java

示例5: detectLines

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
/**
	 * Detects lines inside the image using different types of Hough detectors
	 *
	 * @param image Input image.
	 * @param imageType Type of image processed by line detector.
	 * @param derivType Type of image derivative.
	 */
	public static<T extends ImageSingleBand, D extends ImageSingleBand>
			void detectLines( BufferedImage image , 
							  Class<T> imageType ,
							  Class<D> derivType )
	{
		// convert the line into a single band image
		T input = ConvertBufferedImage.convertFromSingle(image, null, imageType );

		// Comment/uncomment to try a different type of line detector
		DetectLineHoughPolar<T,D> detector = FactoryDetectLineAlgs.houghPolar(3, 30, 2, Math.PI / 180,
				edgeThreshold, maxLines, imageType, derivType);
//		DetectLineHoughFoot<T,D> detector = FactoryDetectLineAlgs.houghFoot(3, 8, 5, edgeThreshold,
//				maxLines, imageType, derivType);
//		DetectLineHoughFootSubimage<T,D> detector = FactoryDetectLineAlgs.houghFootSub(3, 8, 5, edgeThreshold,
//				maxLines, 2, 2, imageType, derivType);

		List<LineParametric2D_F32> found = detector.detect(input);

		// display the results
		ImageLinePanel gui = new ImageLinePanel();
		gui.setBackground(image);
		gui.setLines(found);
		gui.setPreferredSize(new Dimension(image.getWidth(),image.getHeight()));

		ShowImages.showWindow(gui,"Found Lines");
	}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:34,代码来源:ExampleLineDetection.java

示例6: createAlg

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
@Override
public <T extends ImageSingleBand>
DetectLine<T> createAlg(Class<T> imageType) {

	Class derivType = GImageDerivativeOps.getDerivativeType(imageType);

	return FactoryDetectLineAlgs.houghFootSub(2, 3, 2, 10, 10, 2, 2, imageType, derivType);
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:9,代码来源:TestDetectLineHoughFootSubimage.java

示例7: createAlg

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
@Override
public <T extends ImageSingleBand>
DetectLine<T> createAlg(Class<T> imageType) {

	Class derivType = GImageDerivativeOps.getDerivativeType(imageType);

	return FactoryDetectLineAlgs.houghPolar(2, 3, 1.2, Math.PI / 180, 10, 20, imageType, derivType);
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:9,代码来源:TestDetectLineHoughPolar.java

示例8: createAlg

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
@Override
public <T extends ImageSingleBand>
DetectLine<T> createAlg(Class<T> imageType) {

	Class derivType = GImageDerivativeOps.getDerivativeType(imageType);

	return FactoryDetectLineAlgs.houghFoot(2, 3, 2, 10, 10, imageType, derivType);
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:9,代码来源:TestDetectLineHoughFoot.java

示例9: VideoDisplayLinesApp

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public VideoDisplayLinesApp(Class<I> imageType, Class<D> derivType) {
	super(1,imageType);

	addAlgorithm(0,"Hough Foot", FactoryDetectLineAlgs.houghFoot(3, 8, 5, edgeThreshold, maxLines, imageType, derivType));
	addAlgorithm(0,"Hough Polar", FactoryDetectLineAlgs.houghPolar(3, 30, 2, Math.PI / 180, edgeThreshold, maxLines, imageType, derivType));
	addAlgorithm(0,"Hough Foot Sub Image", FactoryDetectLineAlgs.houghFootSub(3, 8, 5, edgeThreshold, maxLines, 2, 2, imageType, derivType));
	addAlgorithm(0,"Grid Line", FactoryDetectLineAlgs.lineRansac(40, 30, 2.36, true, imageType, derivType));


	blur = GeneralizedImageOps.createSingleBand(imageType, 1, 1);
	gui.addMouseListener(this);
	gui.requestFocus();
	setMainGUI(gui);
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:15,代码来源:VideoDisplayLinesApp.java

示例10: detectLineSegments

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public <T extends ImageSingleBand, D extends ImageSingleBand>
Bitmap detectLineSegments( Bitmap image ,
                         Class<T> imageType ,
                         Class<D> derivType )
{
    // convert the line into a single band image
    T input = ConvertBitmap.bitmapToGray(image, null, imageType, null);

    // Comment/uncomment to try a different type of line detector
    DetectLineSegmentsGridRansac<T,D> detector = FactoryDetectLineAlgs.lineRansac(40, 10, 1, true, imageType, derivType);

    List<LineSegment2D_F32> found = detector.detect(input);

    Paint paintMax;
    paintMax = new Paint();
    paintMax.setColor(Color.RED);
    paintMax.setStyle(Paint.Style.FILL);

    Canvas canvas = new Canvas(image);

    if(found.size() > 0){
        List<Double> modules = new ArrayList<>();               //For preveting find very short lines, we get the top module and then we discard the short ones
        for (int i = 0; i < found.size(); i++) {
            modules.add(new Vector(new Point(found.get(i).a.x, found.get(i).a.y), new Point(found.get(i).b.x, found.get(i).b.y)).getModule());
        }
        Collections.sort(modules);
        Collections.reverse(modules);

        double topModule = modules.get(0);          //this is the module of the largest line

        for (int i = 0; i < found.size(); i++) {
            if (new Vector(new Point(found.get(i).a.x, found.get(i).a.y), new Point(found.get(i).b.x, found.get(i).b.y)).getModule() > (topModule / 6)) {
                canvas.drawLine(found.get(i).a.x, found.get(i).a.y, found.get(i).b.x, found.get(i).b.y, paintMax);
                if (found.get(i).a.x < found.get(i).b.x) {               ////problem with lines
                    lines.add(new Line(found.get(i).a.x, found.get(i).a.y, found.get(i).b.x, found.get(i).b.y));
                } else {
                    lines.add(new Line(found.get(i).b.x, found.get(i).b.y, found.get(i).a.x, found.get(i).a.y));
                }
            }
        }
    }
    return image;
}
 
开发者ID:acien101,项目名称:DiedricoApp,代码行数:44,代码来源:LineSegment.java

示例11: linesHoughPolar

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public List<LineParametric2D_F32> linesHoughPolar( ConfigHoughPolar config ) {
	Class inputType = image.getClass();
	Class derivType = GImageDerivativeOps.getDerivativeType(inputType);
	DetectLine detector = FactoryDetectLineAlgs.houghPolar(config,inputType,derivType);
	return detector.detect(image);
}
 
开发者ID:lessthanoptimal,项目名称:BoofProcessing,代码行数:7,代码来源:SimpleGray.java

示例12: linesHoughFoot

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public List<LineParametric2D_F32> linesHoughFoot( ConfigHoughFoot config ) {
	Class inputType = image.getClass();
	Class derivType = GImageDerivativeOps.getDerivativeType(inputType);
	DetectLine detector = FactoryDetectLineAlgs.houghFoot(config, inputType, derivType);
	return detector.detect(image);
}
 
开发者ID:lessthanoptimal,项目名称:BoofProcessing,代码行数:7,代码来源:SimpleGray.java

示例13: linesHoughFootSub

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public List<LineParametric2D_F32> linesHoughFootSub( ConfigHoughFootSubimage config ) {
	Class inputType = image.getClass();
	Class derivType = GImageDerivativeOps.getDerivativeType(inputType);
	DetectLine detector = FactoryDetectLineAlgs.houghFootSub(config,inputType,derivType);
	return detector.detect(image);
}
 
开发者ID:lessthanoptimal,项目名称:BoofProcessing,代码行数:7,代码来源:SimpleGray.java

示例14: HoughLine

import boofcv.factory.feature.detect.line.FactoryDetectLineAlgs; //导入依赖的package包/类
public HoughLine() {
	GImageDerivativeOps.sobel(input, derivX, derivY, BorderType.EXTENDED);
	detector = FactoryDetectLineAlgs.houghPolar(2, 40, 2, Math.PI / 180, 150, -1, imageType, derivType);
}
 
开发者ID:intrack,项目名称:BoofCV-master,代码行数:5,代码来源:BenchmarkForOpenCV.java


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