boofcv.alg.scene.FeatureToWordHistogram Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of boofcv-recognition Show documentation
Show all versions of boofcv-recognition Show documentation
BoofCV is an open source Java library for real-time computer vision and robotics applications.
/*
* Copyright (c) 2011-2017, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package boofcv.alg.scene;
import boofcv.struct.feature.TupleDesc;
/**
* Used to construct a normalized histogram which represents the frequency of certain words in an image for use
* in a BOW based classifier. Features are added one at a time and internally placed in the histogram. When
* there are no more features left {@link #process()} is called and the histogram computed. The returned histogram
* will be normalized such that it sums up to one. This normalization makes it more tolerant to images of
* different sized and sampling frequency. Call {@link #reset} when the next image is ready.
*
* @author Peter Abeles
*/
public interface FeatureToWordHistogram {
/**
* Must be called before {@link #addFeature(boofcv.struct.feature.TupleDesc)} is called.
*/
public void reset();
/**
* Adds a feature to the histogram
*
* @param feature A feature which is to be matched to words. Not modified.
*/
public void addFeature( Desc feature );
/**
* No more features are being added. Normalized the computed histogram.
*/
public void process();
/**
* Histogram of word frequencies. Normalized such that the sum is equal to 1.
* @return histogram
*/
public double[] getHistogram();
/**
* Number of elements in the histogram. Which is the number of words the features are assigned to.
*/
public int getTotalWords();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy