OpenCV Error:Assertion failed ...
来源:互联网 发布:怎么自学成为程序员 编辑:程序博客网 时间:2024/05/16 11:42
在编写程序时遇见了两个错误:
1.在用函数cornerSubPix(image, corners, winSize, zeroZone, criteria);求亚像素角点时遇见错误:
Assertion failed (ncorners >= 0 && corners.depth() == CV_32F) in cornerSubPix
原因是:
std::vector<cv::Point> corners 应该为:std::vector<cv::Point2f> corners
2.在求灰度图像某个点的灰度值时
//函数 double getidata()提取灰度图像固定地方灰度值
double getidata(Mat p, int x, int y)
{
Scalar intensity;
intensity = p.at<uchar>(x, y);
return intensity.val[0];
}
出现错误:
OpenCV Error: Assertion failed <dims <=2 && data && <unsigned >i0 < <unsigned>size.p[0] && <unsigned >< i1
原因是:
经过调试发现发生这种错误的原因在于,你访问构造矩阵时越界了,所以报错,,例如:
cv::Mat mat1 = cv::Mat::zeros(480,640,CV_8UC1);
mat1.at<uchar>(481,643)
你构造的mat1为640X480的矩阵,你却访问了643X481那就肯定会出错,所以在每次访问之前一定要 记得加上
if(i>=0 && i<mat1.cols && j>=0 && j< mat1.rows)
mat1.at<uchar>(j,i);
这样 就可以保证你访问的元素在这个行,列之内了。
即程序可改为:
double getidata(Mat p, int x, int y)
{
Scalar intensity;
if (x >= 0 && x<p.cols && y >= 0 && y< p.rows)
intensity = p.at<uchar>(y, x);//
return intensity.val[0];
}
- OpenCV Error: Assertion failed
- OpenCV Error:Assertion failed ...
- OpenCV Error: Assertion failed
- OpenCV Error: Assertion failed ( ssize.area() > 0 )
- OpenCV Error: Assertion failed (s >= 0)
- [OpenCV基础] Assertion failed
- OpenCV Error: Assertion failed (dsize.area() > 0) in cv::resize
- 问题记录(3)OpenCV Error: Assertion failed
- OpenCV Debug Assertion Failed _CrtIsValidHeapPointer
- python使用openCV打开图片的 OpenCV Error: Assertion failed 解决方案
- 【opencv】错误提示OpenCV Error: Assertion failed <dims <=2 && data && <unsigned >i0 ...
- opencv haartraining training error-penCV Error: Assertion failed (elements_read == 1) in unknown fun
- OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow
- opencv error:assertion failed<src.cols>0&&src.rows>0>in unknown function
- OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow
- OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow
- Why always OpenCV Error: Assertion failed (elements_read == 1) in unknown function ?
- OpenCV Error:Assertion failed (size.width>0 && size.height>0) in cv::imshow
- 设计模式——策略模式
- (数据类型-Number特殊数值)JavaScript权威指南笔记4.4
- Codeforces Round #360 (Div. 2) E The Values You Can Make(DP)
- 剑指offer(二.2)数据结构之数组2 面试题3
- EventBus源码分析(一):入口函数提纲挈领(2.4版本)
- OpenCV Error:Assertion failed ...
- 关于动态加载select
- anroid获取图像缩略图
- 2016年6月27
- 【添加时间戳防止重放攻击】
- HDR
- http://host.robots.ox.ac.uk/pascal/VOC/voc2007/index.html
- 高仿猫眼电影Logo图标
- XML基础知识