"QR_H.m" function [Q,R] = QR_tao(A) %输入矩阵A %输出正交矩阵Q和上三角矩阵R [n,n]=size(A); E = eye(n); X = zeros(n,); R = zeros(n); P1 = E; :n- s = -sign(A(k,k))*norm(A(k:n,k)); R(k,k) = -s; w = [A(,)+s,A(:n,k)']'; else w = [zeros(,k-),A(k,k)+s,A(k+:n,k)']'; R(:
Line.h #pragma once //Microsoft Visual Studio 2015 Enterprise //根据两点式方法求直线,并求两条直线的交点 #include"BoundaryPoint.h" #include"Coordinates.h" class Line { public: Line GetLine(BoundaryPoint sourcePoint, BoundaryPoint endPoint); Line GetLine(C
工业相机拍摄的图像中,由于摄像质量的限制,图像中的直线经过处理后,会表现出比较严重的锯齿.在这种情况下求取直线的倾角(其实就是直线的斜率),如果是直接选取直线的开始点和结束点来计算,或是用opencv自带的哈夫曼直线方法,都会引起较大的角度偏差,一般会达到好几度.误差这么大,显然达不到工控要求.后来尝试采取直线点集做最小二乘拟合,误差缩小到0.5以下.以下是算法的代码: //最小二乘拟合计算直线的倾角 int pointCount = pointVect.size(); if (pointCou