采用极限约束的对应圆检测

该博客详细介绍了在计算机视觉中,如何通过图像预处理获取圆心,然后利用相机内参、旋转向量和移动向量计算本质矩阵和基础矩阵。进一步,通过极线约束来确定左右图像中对应点的匹配,从而实现特征点的对应。文章涵盖了从罗德里格斯公式到外极线计算的过程,为立体视觉配对提供了理论基础。
摘要由CSDN通过智能技术生成

在进行图像预处理之后可得到左右图所有圆的圆心
以vector的格式储存
由相机标定可得,左右相机的内参矩阵,R,t向量,此时得到的是旋转向量,需要转化为旋转矩阵,采用罗德里格斯公式
可由R,t矩阵求得本质矩阵和基础矩阵
其中需要获得t的反对称矩阵t_x。

Mat R = (Mat_<double>(3, 1) << 0.001903323, 0.614913706, -0.004505512); //旋转向量
Mat R_matrix(3, 3, CV_8UC1);//旋转矩阵
Rodrigues(R, R_matrix);//将旋转向量转化为旋转矩阵

Mat t = (Mat_<double>(3, 1) << -178.429272275, 0.955715978, 55.452245367);//移动向量
Mat t_x = (Mat_<double>(3, 3) <<
	0, -t.at<double>(2, 0), t.at<double>(1, 0),
	t.at<double>(2, 0), 0, -t.at<double>(0, 0),
	-t.at<double>(1, 0), t.at<double>(0, 0), 0);  //t的反对称矩阵

Mat kl = (Mat_<double>(3, 3) << 3705.036621094, 0, 1249.436523438,
	0, 3704.723388672, 1053.494995117,
	0, 0, 1);//左相机参数
Mat kr = (Mat_<double>(3, 3) << 3701.171386719, 0, 1279.476196289,
	0, 3701.118164063, 1056.655151367,
	0, 0, 1);//右相机参数
Mat kl_1, kr_1;
invert(kl, kl_1, DECOMP_SVD);//左相机矩阵的逆
invert(kr, kr_1, DECOMP_SVD);//右相机矩阵的逆
//计算基础矩阵
Mat fundamental_matrix;
fundamental_matrix = kr_1.t()*t_x*R_matrix*kl_1;

得到基础矩阵之后,可求极线
计算对应点的外极线epilines是一个三元组(a,b,c),表示点在另一视图中对应的外极线ax+by+c=0;

vector<Vec<float, 3>> epilines1, epilines2;//两条极线
computeCorrespondEpilines(draw_cir_l, 1, fundamental_matrix, epilines1);
computeCorrespondEpilines(draw_cir_r, 2, fundamental_matrix, epilines2);


通俗来说,直线约束就是点与直线的对应。当我们在左右两图找到特征点后,我们要判断哪两个特征点是相匹配的,此时可以借助于极线约束判断,以此来确定它是同一个空间点在两个成像平面上的投影
即pl在品后面Ir上的点一定在极线Lprer上

极线绘制:
绘制外极线的时候,选择两个点,一个是x=0处的点,一个是x为图片宽度处
line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color,int thickness = 1, int lineType = LINE_8, int shift = 0);

由极线可知
pt1=Point(0, -epilines2[i][2] / epilines2[i][1]);
pt2=Point(g_src_l.cols, -(epilines2[i][2] + epilines2[i][0] * g_src_l.cols) / epilines2[i][1])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值