Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在C+中实现poly1d+;通过OpenCV?_Python_C++_Opencv - Fatal编程技术网

Python 如何在C+中实现poly1d+;通过OpenCV?

Python 如何在C+中实现poly1d+;通过OpenCV?,python,c++,opencv,Python,C++,Opencv,我知道polyfit的函数是一个直线拟合函数,在Python中,它返回一条“y=ax+b”直线来拟合给定的点 在C++中,我使用OpenCV函数 FITLION/CODE>,它返回由4个参数((x,y,x0,y0)表示的线,其中(vx,y)是与线共线的归一化向量,(x0,y0)是线上的点)。 但是我不能理解poly1d函数。我不能用OpenCV和C++实现它。 如何实现poly1d并使用fitLine函数的返回值 lineModel = np.poly1d(np.polyfit([y1, y2]

我知道
polyfit
的函数是一个直线拟合函数,在Python中,它返回一条“y=ax+b”直线来拟合给定的点

在C++中,我使用OpenCV函数<代码> FITLION/CODE>,它返回由4个参数((x,y,x0,y0)表示的线,其中(vx,y)是与线共线的归一化向量,(x0,y0)是线上的点)。 但是我不能理解
poly1d
函数。我不能用OpenCV和C++实现它。 如何实现
poly1d
并使用
fitLine
函数的返回值

lineModel = np.poly1d(np.polyfit([y1, y2], [x1, x2], 1))

也许这与所问的问题有些出入,但如果您使用的是早期版本的
openCV
,则可以使用
polyfit
。我在openCV 2.4.13中使用了它。它可以用来得到任意阶拟合的系数。注意,返回的系数顺序相反

float xData[] = { 0.0f,1.0f ,2.0f,3.0f  };
float yData[] = { 3.0f, 2.0f, 1.0f, 0.0f, };
int order = 1;

Mat out = Mat(order + 1, 1, CV_32FC1);
Mat x1 = Mat(3, 1, CV_32F, xData);
Mat y2 = Mat(3, 1, CV_32FC1, yData);

polyfit(x1, y2, out, order);