后使用的OpenCV(2.49二进制文件),调试运行报告在这短短的代码中使用cv::minMaxIdx
时堆栈损坏:OpenCV的:用MSVC 2013堆栈损坏minMaxIdx
cv::MatND hist;
int histSize[] = { 256 };
float range[] = { 0, 256 };
const float* histRange[] = { range };
cv::calcHist(&image, 1, { 0 }, cv::Mat(), hist, 1, histSize, histRange, true /* uniform */, true /* accumulate */);
// this line provokes a stack corruption
cv::minMaxIdx(hist, nullptr, nullptr, nullptr, &maxIdx);
我可以看到在调试器中的直方图,所有的值和变量看起来都正确。问题在发布模式中不会发生,但我怀疑这只是因为检查没有运行。将hist
更改为hist.col(0)
也没有帮助。
如何声明'maxIdx'? – Mikhail