opencv异常提示之 npoints2 >= 0 || npoints3 >= 0 in fitLine

本文介绍了在使用OpenCV时遇到的错误提示‘npoints2 >= 0 || npoints3 >= 0’,错误源于checkVector函数在处理连续的Mat时返回-1。解决方法是调整checkVector的参数,确保与Mat的连续性匹配,或者将非零像素点转换为vector或Mat进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenCV Error: Assertion failed (npoints2 >= 0 || npoints3 >= 0) in fitLine,
 file /home/tau/opencv/opencv-3.1.0/modules/imgproc/src/linefit.cpp, line 603
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/tau/opencv/opencv-3.1.0/modules/imgproc/src/linefit.cpp:603: 
error: (-215) npoints2 >= 0 || npoints3 >= 0 in function fitLine

   这个是fitline函数中的错误提示,  当然其他函数也可能出现类似的错误提示
      哪里出了问题呢?  我们来试试看看fitLine源码吧,  源码在下面
void cv::fitLine( InputArray _points, OutputArray _line, int distType, double param, double reps, double aeps )
{
    Mat points = _points.getMat();
    float linebuf[6]={0.f};
    int npoints2 = points.checkVector(2, -1, false);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值