+++ /dev/null
-/*M///////////////////////////////////////////////////////////////////////////////////////
-//
-// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
-//
-// By downloading, copying, installing or using the software you agree to this license.
-// If you do not agree to this license, do not download, install,
-// copy or use the software.
-//
-//
-// Intel License Agreement
-// For Open Source Computer Vision Library
-//
-// Copyright (C) 2000, Intel Corporation, all rights reserved.
-// Third party copyrights are property of their respective owners.
-//
-// Redistribution and use in source and binary forms, with or without modification,
-// are permitted provided that the following conditions are met:
-//
-// * Redistribution's of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// * Redistribution's in binary form must reproduce the above copyright notice,
-// this list of conditions and the following disclaimer in the documentation
-// and/or other materials provided with the distribution.
-//
-// * The name of Intel Corporation may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// This software is provided by the copyright holders and contributors "as is" and
-// any express or implied warranties, including, but not limited to, the implied
-// warranties of merchantability and fitness for a particular purpose are disclaimed.
-// In no event shall the Intel Corporation or contributors be liable for any direct,
-// indirect, incidental, special, exemplary, or consequential damages
-// (including, but not limited to, procurement of substitute goods or services;
-// loss of use, data, or profits; or business interruption) however caused
-// and on any theory of liability, whether in contract, strict liability,
-// or tort (including negligence or otherwise) arising in any way out of
-// the use of this software, even if advised of the possibility of such damage.
-//
-//M*/
-
-#ifndef _CV_VM_H_
-#define _CV_VM_H_
-
-/*----------------------- Internal ViewMorphing Functions ------------------------------*/
-
-/*======================================================================================*/
-
-typedef struct CvMatrix4
-{
- float m[4][4];
-}
-CvMatrix4;
-
-
-/* Scanline section. Find coordinates by fundamental matrix */
-
-/* Epsilon and real zero */
-#define EPSILON 1.e-4
-//#define REAL_ZERO(x) ( (x) < EPSILON && (x) > -EPSILON)
-#define REAL_ZERO(x) ( (x) < 1e-8 && (x) > -1e-8)
-
-#define SIGN(x) ( (x)<0 ? -1:((x)>0?1:0 ) )
-
-CvStatus icvMakeScanlinesLengths( int* scanlines,
- int numlines,
- int* lens);
-
-/*=============================== PreWarp section ======================================*/
-
-CV_INLINE int icvGetColor(uchar* valueRGB);
-
-CvStatus icvFindRunsInOneImage(
- int numLines, /* number of scanlines */
- uchar* prewarp, /* prewarp image */
- int* line_lens, /* line lengths in pixels */
- int* runs, /* result runs */
- int* num_runs);
-
-/*================================ Morphing section ====================================*/
-
-CvStatus icvMorphEpilines8uC3( uchar* first_pix, /* raster epiline from the first image */
- uchar* second_pix, /* raster epiline from the second image */
- uchar* dst_pix, /* raster epiline from the destination image */
- /* (it's an output parameter) */
- float alpha, /* relative position of camera */
- int* first, /* first sequence of runs */
- int first_runs, /* it's length */
- int* second, /* second sequence of runs */
- int second_runs,
- int* first_corr, /* correspond information for the 1st seq */
- int* second_corr,
- int dst_len); /* correspond information for the 2nd seq */
-
-/*========================== Dynamic correspond section ================================*/
-
-CvStatus icvDynamicCorrespond( int* first, /* first sequence of runs */
- /* s0|w0|s1|w1|...|s(n-1)|w(n-1)|sn */
- int first_runs, /* number of runs */
- int* second, /* second sequence of runs */
- int second_runs,
- int* first_corr, /* s0'|e0'|s1'|e1'|... */
- int* second_corr );
-
-/*============================= PostWarp Functions =====================================*/
-
-CvStatus icvFetchLine8uC3R(
- uchar* src, int src_step,
- uchar* dst, int* dst_num,
- CvSize src_size,
- CvPoint start,
- CvPoint end );
-
-CvStatus icvDrawLine8uC3R(
- uchar* src, int src_num,
- uchar* dst, int dst_step,
- CvSize dst_size,
- CvPoint start,
- CvPoint end );
-
-
-/*============================== Fundamental Matrix Functions ==========================*/
-CvStatus icvPoint7( int* points1,
- int* points2,
- double* F,
- int* amount
- );
-
-CvStatus icvCubic( double a2, double a1,
- double a0, double* squares );
-
-double icvDet( double* M );
-double icvMinor( double* M, int x, int y );
-
-int
-icvGaussMxN( double *A, double *B, int M, int N, double **solutions );
-
-CvStatus
-icvGetCoef( double *f1, double *f2, double *a2, double *a1, double *a0 );
-
-/*================================= Scanlines Functions ================================*/
-
-CvStatus icvGetCoefficient( CvMatrix3* matrix,
- CvSize imgSize,
- int* scanlines_1,
- int* scanlines_2,
- int* numlines);
-
-CvStatus icvGetCoefficientDefault( CvMatrix3* matrix,
- CvSize imgSize,
- int* scanlines_1,
- int* scanlines_2,
- int* numlines);
-
-CvStatus icvGetCoefficientStereo( CvMatrix3* matrix,
- CvSize imgSize,
- float* l_epipole,
- float* r_epipole,
- int* scanlines_1,
- int* scanlines_2,
- int* numlines
- );
-
-CvStatus icvGetCoefficientOrto( CvMatrix3* matrix,
- CvSize imgSize,
- int* scanlines_1,
- int* scanlines_2,
- int* numlines);
-
-
-CvStatus icvGetCrossEpilineFrame( CvSize imgSize,
- float* epiline,
- int* x1,
- int* y1,
- int* x2,
- int* y2
- );
-
-CvStatus icvBuildScanlineLeftStereo(
- CvSize imgSize,
- CvMatrix3* matrix,
- float* l_epipole,
- float* l_angle,
- float l_radius,
- int* scanlines_1,
- int* scanlines_2,
- int* numlines);
-
-CvStatus icvBuildScanlineRightStereo(
- CvSize imgSize,
- CvMatrix3* matrix,
- float* r_epipole,
- float* r_angle,
- float r_radius,
- int* scanlines_1,
- int* scanlines_2,
- int* numlines);
-
-CvStatus icvGetStartEnd1(
- CvMatrix3* matrix,
- CvSize imgSize,
- float* l_start_end,
- float* r_start_end );
-
-CvStatus icvGetStartEnd2(
- CvMatrix3* matrix,
- CvSize imgSize,
- float* l_start_end,
- float* r_start_end );
-
-CvStatus icvGetStartEnd3(
- CvMatrix3* matrix,
- CvSize imgSize,
- float* l_start_end,
- float* r_start_end );
-
-CvStatus icvGetStartEnd4(
- CvMatrix3* matrix,
- CvSize imgSize,
- float* l_start_end,
- float* r_start_end );
-
-CvStatus icvBuildScanlineLeft(
- CvMatrix3* matrix,
- CvSize imgSize,
- int* scanlines_1,
- int* scanlines_2,
- float* l_start_end,
- int* numlines
- );
-
-CvStatus icvBuildScanlineRight(
- CvMatrix3* matrix,
- CvSize imgSize,
- int* scanlines_1,
- int* scanlines_2,
- float* r_start_end,
- int* numlines
- );
-
-
-/*=================================== LMedS Functions ==================================*/
-CvStatus icvLMedS7(
- int* points1,
- int* points2,
- CvMatrix3* matrix);
-
-
-CvStatus icvLMedS( int* points1,
- int* points2,
- int numPoints,
- CvMatrix3* fundamentalMatrix );
-
-
-/*
-CvStatus icvFindFundamentalMatrix(
- int* points1,
- int* points2,
- int numpoints,
- int method,
- CvMatrix3* matrix);
-*/
-void icvChoose7( int* ml, int* mr,
- int num, int* ml7,
- int* mr7 );
-
-double icvMedian( int* ml, int* mr,
- int num, double* F );
-
-int icvBoltingPoints( int* ml, int* mr,
- int num, double* F,
- double Mj, int* *new_ml,
- int* *new_mr, int* new_num);
-
-CvStatus icvPoints8( int* ml, int* mr,
- int num, double* F );
-
-CvStatus icvRank2Constraint( double* F );
-
-CvStatus icvSort( double* array, int length );
-
-double icvAnalyticPoints8( double* A,
- int num, double* F );
-
-int icvSingularValueDecomposition( int M,
- int N,
- double* A,
- double* W,
- int get_U,
- double* U,
- int get_V,
- double* V
- );
-
-
-/*======================================================================================*/
-#endif/*_CV_VM_H_*/
-