Expression: __acrt_first_block == header 的解决方案
问题描述
我出现这个问题在特征点检测 detectAndCompute() 函数这里,由于输出的矩阵dst为空, match() 函数就报错了。本来加了一个判断dst 是否为空,为空就跳出当前循环。结果跳出之后就报了 Expression: __acrt_first_block == header 这个错。
解决方案
搜了很大半天,有说vs和opencv不匹配的,但我这个明显不是。
另外就是内存原因了,我debug时也发现的Mat的释放出错。
就将detectAndCompute() 的输出dst矩阵改为全局变量,然后在每个循环结束时和判断dt是否为空的时候,将dst释放掉,就行了。
dst.release()