OpenCv参考手册-CvAux中文参考手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CvAux中文参考手册Wikipedia,自由的百科全书
目录
∙ 1 立体匹配
o 1.1 FindStereoCorrespondence ∙ 2 View Morphing Functions
o 2.1 MakeScanlines
o 2.2 PreWarpImage
o 2.3 FindRuns
o 2.4 DynamicCorrespondMulti
o 2.5 MakeAlphaScanlines
o 2.6 MorphEpilinesMulti
o 2.7 PostWarpImage
o 2.8 DeleteMoire
∙ 3 3D Tracking Functions
o 3.1 3dTrackerCalibrateCameras
o 3.2 3dTrackerLocateObjects
∙ 4 Eigen Objects (PCA) Functions
o 4.1 CalcCovarMatrixEx
o 4.2 CalcEigenObjects
o 4.3 CalcDecompCoeff
o 4.4 EigenDecomposite
o 4.5 EigenProjection
∙ 5 Embedded Hidden Markov Models Functions o 5.1 CvHMM
o 5.2 CvImgObsInfo
o 5.3 Create2DHMM
o 5.4 Release2DHMM
o 5.5 CreateObsInfo
o 5.6 ReleaseObsInfo
o 5.7 ImgToObs_DCT
o 5.8 UniformImgSegm
o 5.9 InitMixSegm
o 5.10 EstimateHMMStateParams
o 5.11 EstimateTransProb
o 5.12 EstimateObsProb
o 5.13 EViterbi
o 5.14 MixSegmL2
[编辑]
立体匹配
[编辑]
FindStereoCorrespondence
计算一对校正好的图像的视差图
cvFindStereoCorrespondence(
const CvArr* leftImage, const CvArr* rightImage, int mode, CvArr* depthImage,
int maxDisparity,
double param1, double param2, double param3,
double param4, double param5 );
leftImage:: 左图,必须为8位的灰度图
rightImage:: 右图,必须为8位的灰度图
mode:: 指定采用的算法(当前只支持 CV_DISPARITY_BIRCHFIELD ) depthImage:: 输出的视差图, 8位的灰度图
maxDisparity:: 指定最大的可能差异(视差).物体越近视差越大.
param1, param2, param3, param4, param5:: - 算法的参数,param1 为遮挡时的处罚值(constant occlusion penalty), param2 为匹配时的奖励值, param3 定义高可靠区域 (set of contiguous pixels whose reliability is at least param3), param4 定义比较可靠区域defines a moderately
reliable region, param5 定义有些可靠的区域defines a slightly
reliable region. 如果省略一些参数就会采用默认值.在Birchfield算法中param1 = 25, param2 = 5, param3 = 12, param4 = 15, param5 = 25 (这些数值来自书籍"Depth Discontinuities by Pixel-to-Pixel Stereo" Stanford University Technical Report STAN-CS-TR-96-1573, July 1996.)
函数
cvFindStereoCorrespondence
计算两个校正后的灰度图像的视差图
例子。计算一对图像的视差
/*---------------------------------------------------------------------------------*/
IplImage* srcLeft = cvLoadImage("left.jpg",1);
IplImage* srcRight = cvLoadImage("right.jpg",1);
IplImage* leftImage = cvCreateImage(cvGetSize(srcLeft), IPL_DEPTH_8U, 1);
IplImage* rightImage = cvCreateImage(cvGetSize(srcRight),
IPL_DEPTH_8U, 1);
IplImage* depthImage = cvCreateImage(cvGetSize(srcRight),
IPL_DEPTH_8U, 1);
cvCvtColor(srcLeft, leftImage, CV_BGR2GRAY);
cvCvtColor(srcRight, rightImage, CV_BGR2GRAY);
cvFindStereoCorrespondence( leftImage, rightImage,
CV_DISPARITY_BIRCHFIELD, depthImage, 50, 15, 3, 6, 8, 15 );
/*---------------------------------------------------------------------------------*/
本例子使用的图片可在以下地址下载
/pics/left.jpg
/pics/right.jpg
[编辑]
View Morphing Functions
[编辑]
MakeScanlines
Calculates scanlines coordinates for two cameras by fundamental matrix
void cvMakeScanlines( const CvMatrix3* matrix, CvSize img_size, int* scanlines1,
int* scanlines2, int* lengths1, int* lengths2, int* line_count );
matrix:: Fundamental matrix.imgSize:: Size of the image.scanlines1:: Pointer to the array of calculated scanlines of the first
image.scanlines2:: Pointer to the array of calculated scanlines of the second image.lengths1:: Pointer to the array of calculated