如何知道SSE2是否在opencv中被激活

How to know if SSE2 is activated in opencv

我有一个 OpenCV 2.4.10 库版本,它是在 Windows 上为 Intel X64 构建的。

我怎么知道 CV_SSE2 是否激活?我没有密码。我只有库、DLL 和 headers.

谢谢

您可以使用函数 checkHardwareSupport 检查 SSE2 是否启用,例如:

#include <opencv2/opencv.hpp>
#include <iostream>

int main()
{
    cv::setUseOptimized(true); // Turn on optimization (if it was disabled)

    // Get other build information
    //std::cout << cv::getBuildInformation(); 

    // Check SSE2 support
    std::cout << cv::checkHardwareSupport(CV_CPU_SSE2);

    return 0;
}

cv::getBuildInformation() 的输出中查找说例如C++ flags (Release),如果列表中有 -msse2,这意味着您的 OpenCV 库版本的软件代码是在启用 SSE2 构建选项的情况下编译的。
根据 OpenCV 的文档,checkHardwareSupport() 报告主机硬件是否支持该功能,这可能与用于构建软件的编译选项不同,特别是如果您的库是由其他人在不同机器上编译的.