Package jjil.algorithm.j2se

Source Code of jjil.algorithm.j2se.FindLinesHoriz

/*
*  This program is free software: you can redistribute it and/or modify
*  it under the terms of the GNU Lesser General Public License as published by
*  the Free Software Foundation, either version 3 of the License, or
*  (at your option) any later version.
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU Lesser General Public License for more details.
*  You should have received a copy of the Lesser GNU General Public License
*  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package jjil.algorithm.j2se;

import java.util.Vector;
import jjil.core.Error;
import jjil.core.Gray8Image;
import jjil.core.Point;

/** Find the most likely roughly horizontally-oriented line in a Gray8Image.
* The input image is assumed to be thresholded so any points not equal to
* Byte.MIN_VALUE can be included in the line.
* Copyright 2008 by Jon A. Webb
* @author webb
*/
public class FindLinesHoriz {
    LinefitHoughHoriz hough;
   
    public FindLinesHoriz(int cMinY,
            int cMaxY,
            int cYSteps,
            double cMinSlope,
            double cMaxSlope,
            int cSteps) throws Error {
            this.hough = new LinefitHoughHoriz(cMinY,
                cMaxY,
                cYSteps,
                cMinSlope,
                cMaxSlope,
                cSteps);
    }
   
    public void push(Gray8Image im) throws Error {
        byte[] bData = im.getData();
        Vector points = new Vector();
        for (int i=0; i<im.getHeight(); i++) {
            for (int j=0; j<im.getWidth(); j++) {
                if (bData[i*im.getWidth()+j] != Byte.MIN_VALUE) {
                    points.addElement(new Point(i,j));
                }
            }
        }
        this.hough.push(points);
    }
   
    public int getCount() {
        return this.hough.getCount();
    }
   
    public double getSlope() {
        return this.hough.getSlope();
    }
   
    public int getY() {
        return this.hough.getY();
    }
}
TOP

Related Classes of jjil.algorithm.j2se.FindLinesHoriz

TOP
Copyright © 2015 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.