如何在c++中通过OpenCV实现poly1d
How to implement poly1d in C++ via OpenCV?
我知道polyfit
的函数是一个行拟合函数,在Python中返回"y=ax+b"行来拟合给定的点。
在c++中,我使用OpenCV函数fitLine
,它返回由4个参数((vx, vy, x0, y0)表示的直线,其中(vx, vy)是与直线共线的归一化向量,(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);
相关文章:
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在头文件中使用opencv类型来实现未定义的标识符
- 如何以及在何处使用带QT的Basler Cam实现opencv人脸检测代码
- OpenCV 混合模式实现:为什么看似等效的操作会产生不同的结果?
- OpenCV Mat 的逗号分隔初始值设定项是如何用C++实现的?
- OPENCV错误:未指定的错误(未实现该函数)
- 在OpenCV中像素化实现
- 如何使用opencv和c++实现三维sift算法
- 如何在OpenCV中实现颜色分割以及前景检测
- OpenCV IOS Swift 2:如何实现 CvVideoCameraDelegate 协议处理视频帧
- 在OpenCV中实现复值矩阵方程
- Android NDK OpenCV - 找不到本机的实现
- 使用OpenCV 2.4.10实现BRIEF
- C++ 运算符重载 如何在 OpenCV 中实现像 Mat_ 的 CTOR 这样的模式<type>
- 为什么使用TBB的OpenCV函数比基于Boost的实现快得多
- 未实现 OpenCV SURF 函数
- 解释在opencv中实现的阴影检测代码的工作原理
- C++ / OpenCV 中的本地阈值实现
- 在 Opencv 2.4.6 ubuntu 中筛选实现
- 如何在c++中通过OpenCV实现poly1d