最近使用C++的opencv在开发程序,在使用Range()时
Mat patch = MIM(Range(y1,y2+1),Range(x1,x2+1));
出现了opencv error:
Assertion failed (0 <= _rowRange.start && _rowRange.start <= _rowRange.end && _rowRange.end <= m.rows) in Mat
经查证后,发现问题是想要划分的图形区域超过了图像的大小,从而导致中断,将图形区域的范围合理化后,能正常运行并显示。
还有在为矩阵循环赋值时,出现了如下错误:
invalid fastbin entry (free): ...(16进制值)...
经过查证后,发现是对内存的操作出了问题,对矩阵单个元素操作时时at()函数的下标越界,超出了定义的范围。