Package com.googlecode.javacv.ImageTransformer

Examples of com.googlecode.javacv.ImageTransformer.Data


        }
        this.transformer = transformer;
        this.hessianGradientTransformerData = new Data[settings.numThreads][n];
        for (int i = 0; i < hessianGradientTransformerData.length; i++) {
            for (int j = 0; j < hessianGradientTransformerData[i].length; j++) {
                hessianGradientTransformerData[i][j] = new Data(template[pyramidLevel],
                        transformed[pyramidLevel], residual[pyramidLevel], roiMask[pyramidLevel],
                        0, 0, pyramidLevel, null, null, n);
            }
        }
        this.residualTransformerData = new Data[settings.numThreads][1];
        for (int i = 0; i < residualTransformerData.length; i++) {
            residualTransformerData[i][0] = new Data(template[pyramidLevel],
                    target[pyramidLevel], null, roiMask[pyramidLevel],
                    0, 0, pyramidLevel, transformed[pyramidLevel], residual[pyramidLevel], 1);
        }

        this.parameters      = initialParameters.clone();
View Full Code Here


//        final double adjustedRMSE = (1-prevOutlierRatio)*RMSE;
        Parallel.loop(0, hessianGradientTransformerData.length, settings.numThreads, new Looper() {
        public void loop(int from, int to, int looperID) {
            for (int i = 0; i < n; i++) {
                Data d = hessianGradientTransformerData[looperID][i];
                d.srcImg    = template   [pyramidLevel];
                d.subImg    = transformed[pyramidLevel];
                d.srcDotImg = residual   [pyramidLevel];
                d.transImg  = d.dstImg = null;

                d.mask = roiMask[pyramidLevel];
                d.zeroThreshold    = /*adjustedRMSE**/settings.zeroThresholds   [Math.min(settings.zeroThresholds   .length-1, pyramidLevel)];
                d.outlierThreshold = /*adjustedRMSE**/settings.outlierThresholds[Math.min(settings.outlierThresholds.length-1, pyramidLevel)];
                d.pyramidLevel = pyramidLevel;
            }

            int y1 = roi.y() +  looperID   *roi.height()/hessianGradientTransformerData.length;
            int y2 = roi.y() + (looperID+1)*roi.height()/hessianGradientTransformerData.length;
            subroi[looperID].x     (roi.x());
            subroi[looperID].y     (y1);
            subroi[looperID].width (roi.width());
            subroi[looperID].height(y2-y1);

            transformer.transform(hessianGradientTransformerData[looperID], subroi[looperID], tempParameters, null);
        }});

        double dstCount = 0;
        double dstCountZero = 0;
        double dstCountOutlier = 0;
        for (Data[] data : hessianGradientTransformerData) {
            dstCount        += data[0].dstCount;
            dstCountZero    += data[0].dstCountZero;
            dstCountOutlier += data[0].dstCountOutlier;
            for (int i = 0; i < n; i++) {
                Data d = (Data)data[i];
                gradient.put(i, gradient.get(i) - d.srcDstDot);
                for (int j = 0; j < n; j++) {
                    hessian.put(i, j, hessian.get(i, j) + d.dstDstDot[j]);
                }
            }
View Full Code Here

        parameters.getConstraintError();
//        cvSetZero(transformed[pyramidLevel]);
//        cvSetZero(residual   [pyramidLevel]);
        Parallel.loop(0, residualTransformerData.length, settings.numThreads, new Looper() {
        public void loop(int from, int to, int looperID) {
            Data d = residualTransformerData[looperID][0];
            d.srcImg    = template   [pyramidLevel];
            d.subImg    = target     [pyramidLevel];
            d.srcDotImg = null;
            d.transImg  = transformed[pyramidLevel];
            d.dstImg    = residual   [pyramidLevel];
View Full Code Here

TOP

Related Classes of com.googlecode.javacv.ImageTransformer.Data

Copyright © 2018 www.massapicom. 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.