使用cv::findFundamentalMat要注意的几点
来源:互联网 发布:淘宝卖家最迟发货时间 编辑:程序博客网 时间:2024/06/09 05:17
基本矩阵
内点
opencv
ransac
it
分类: 无尽之海
//! the algorithm for finding fundamental matrix
enum
{
};
//! finds fundamental matrix from a set of corresponding 2D points
CV_EXPORTS Mat findFundamentalMat( const Mat& points1, const Mat& points2,
//! finds fundamental matrix from a set of corresponding 2D points
CV_EXPORTS_W Mat findFundamentalMat( const Mat& points1, const Mat& points2,
// vector<KeyPoint> m_LeftKey;
//
// vector<DMatch> m_Matches;
// 以上三个变量已经被计算出来,分别是提取的关键点及其匹配,下面直接计算F
// 分配空间
int ptCount = (int)m_Matches.size();
Mat p1(ptCount, 2, CV_32F);
Mat p2(ptCount, 2, CV_32F);
// 把Keypoint转换为Mat
Point2f pt;
for (int i=0; i<ptCount; i++)
{
}
// 用RANSAC方法计算F
// Mat m_Fundamental;
// 上面这个变量是基本矩阵
// vector<uchar> m_RANSACStatus;
// 上面这个变量已经定义过,用于存储RANSAC后每个点的状态
m_Fundamental = findFundamentalMat(p1, p2, m_RANSACStatus, FM_RANSAC);
// 计算野点个数
int OutlinerCount = 0;
for (int i=0; i<ptCount; i++)
{
}
// 计算内点
// vector<Point2f> m_LeftInlier;
//
//
// 上面三个变量用于保存内点和匹配关系
int InlinerCount = ptCount - OutlinerCount;
m_InlierMatches.resize(InlinerCount);
m_LeftInlier.resize(InlinerCount);
m_RightInlier.resize(InlinerCount);
InlinerCount = 0;
for (int i=0; i<ptCount; i++)
{
}
// 把内点转换为drawMatches可以使用的格式
vector<KeyPoint> key1(InlinerCount);
vector<KeyPoint> key2(InlinerCount);
KeyPoint::convert(m_LeftInlier, key1);
KeyPoint::convert(m_RightInlier, key2);
// 显示计算F过后的内点匹配
// Mat m_matLeftImage;
// Mat m_matRightImage;
// 以上两个变量保存的是左右两幅图像
Mat OutImage;
drawMatches(m_matLeftImage, key1, m_matRightImage, key2, m_InlierMatches, OutImage);
cvNamedWindow( "Match features", 1);
cvShowImage("Match features", &(IplImage(OutImage)));
cvWaitKey( 0 );
cvDestroyWindow( "Match features" );
初始匹配:
RANSAC过后的内点匹配:
- 使用cv::findFundamentalMat要注意的几点
- 使用cv::findFundamentalMat要注意的几点
- 使用cv::findFundamentalMat要注意的几点
- 使用cv::findFundamentalMat要注意的几点
- 使用cv::findFundamentalMat要注意的几点
- 使用cv::findFundamentalMat要注意的几点
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点
- OleDbCommand 或 OdbcCommand 使用参数要注意的几点。
- MacVim 使用 ConqueTerm 插件要注意的几点
- 关于使用ActionBar要注意的几点<动态更新...>
- 使用密码文件的几点注意
- 使用SqlDataReader注意的几点
- 使用SqlDataReader注意的几点
- 使用SqlDataReader注意的几点
- 使用SqlDataReader注意的几点
- JSP实现简单用户登录
- 文章标题
- HTML5学习_day13(3)--border-radius属性(圆角边框)
- Babelfish Poj2503(STL map的使用)
- mysql存储过程详解
- 使用cv::findFundamentalMat要注意的几点
- 3-11 LED驱动程序设计
- 300_不能使用ApplicationContext
- poj2229Sumsets递归/动态规划
- javaweb项目中导入jquery
- IDEA启动tomcat失败
- win7环境下eclipse gdb调试输出stl容器内容
- mongo date 类型
- 没有重复字符的最长子字符串(Longest Substring Without Repeating Characters)