c++ - 在 OpenCV 中使用 hog.compute(...) 访问冲突

标签 c++ opencv

我已经尝试使用 OpenCV (3.2) 的 HOG 特征提取器,但它总是会导致访问冲突(对德语文本感到抱歉):

Ausnahme ausgelöst bei 0x000007FEC6AB12F5 (opencv_world320d.dll) in roi_detect.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x0000000000000000.

我已经尝试过使用多个参数和不同大小的图像,但随时都会出现此异常。

请看下面的代码片段:

cv::Mat mat = cv::imread(input, cv::IMREAD_GRAYSCALE);    
cv::Mat res;
cv::Size size(128, 128);
cv::resize(mat, res,size);
cv::HOGDescriptor hog(cv::Size(128,128), cv::Size(8, 8), cv::Size(4,4), cv::Size(4, 4), 9);
std::cout << "Computing HOGs..." << std::endl;
hog.compute(res, descriptor);
std::cout << "Computed HOGs" << std::endl;

我实际上已经将图像的大小调整为“WinSize”参数的大小,即使一些消息来源说这实际上不是导致此问题的原因。

最佳答案

我已经找到问题的答案,以防其他人遇到同样的问题。

如果您在 Visual Studio 中将应用程序构建为 Release,请确保 OpenCV DLL 的发布版本可用于您的应用程序。

我不小心将后缀为“d”的 DLL 放在了我的应用程序的工作目录中,该应用程序被构建为“Release”。这导致了问题。

关于c++ - 在 OpenCV 中使用 hog.compute(...) 访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45355482/

相关文章:

c++ - 如何将 opencv mat 写入 gstreamer 管道?

c++ - 使用 Arduino 和 C++ 声明和写入数组的问题

c++ - 查找两个连续边界框之间的距离?

c++ - boost thread_group 将 unique_ptr 的所有权移动到线程

c++ - 转义序列?在 Qstring 中使用引号

c++ - OpenCV Python 通过图像数据绑定(bind)非常慢的迭代

python - 使用openCV python查找骨架与边界之间的距离

javascript - cmake/OpenCVCompilerOptimizations.cmake:505(消息)的CMake错误:编译器不支持基准优化标志

iphone - 解析 OBJ 文件

c++ - 混合版本的 MSVCRT