AcoustID.Chromaprint.FingerprintCalculator.Calculate C# (CSharp) Method

Calculate() public method

public Calculate ( Image image ) : int[]
image Image
return int[]
        public int[] Calculate(Image image)
        {
            int length = image.Rows - m_max_filter_width + 1;
            if (length <= 0)
            {
                //DEBUG() << "Chromaprint::FingerprintCalculator::Calculate() -- Not "
                //		<< "enough data. Image has " << image.NumRows() << " rows, "
                //		<< "needs at least " << m_max_filter_width << " rows.\n";
                return null;
            }
            IntegralImage integral_image = new IntegralImage(image);
            var fingerprint = new int[length];
            for (int i = 0; i < length; i++)
            {
                fingerprint[i] = CalculateSubfingerprint(integral_image, i);
            }
            return fingerprint;
        }

Usage Example

        public void TestCalculate()
        {
            Image image = new Image(2, 3);
            image[0, 0] = 0.0;
            image[0, 1] = 1.0;
            image[1, 0] = 2.0;
            image[1, 1] = 3.0;
            image[2, 0] = 4.0;
            image[2, 1] = 5.0;

            Classifier[] classifiers = {
		        new Classifier(new Filter(0, 0, 1, 1), new Quantizer(0.01, 1.01, 1.5)),	
	        };
            FingerprintCalculator calculator = new FingerprintCalculator(classifiers);

            int[] fp = calculator.Calculate(image);
            Assert.AreEqual(3, fp.Length);
            Assert.AreEqual(TestsHelper.GrayCode(0), fp[0]);
            Assert.AreEqual(TestsHelper.GrayCode(2), fp[1]);
            Assert.AreEqual(TestsHelper.GrayCode(3), fp[2]);
        }
All Usage Examples Of AcoustID.Chromaprint.FingerprintCalculator::Calculate