【问题标题】:nu.pattern.OpenCV$UnsupportedPlatformException: Operating system "WINDOWS" and architecture "X86_64" are not supportednu.pattern.OpenCV$UnsupportedPlatformException:不支持操作系统“WINDOWS”和体系结构“X86_64”
【发布时间】:2018-07-09 02:50:37
【问题描述】:

我正在尝试在具有以下 maven 依赖项的 spring mvc 项目中使用上述方法加载 opencv:-

<dependency>
    <groupId>org.openpnp</groupId>
    <artifactId>opencv</artifactId>
    <version>3.2.0-0</version>
</dependency>

我的代码是:

static {
    nu.pattern.OpenCV.loadShared();
    System.loadLibrary(org.opencv.core.Core.NATIVE_LIBRARY_NAME);
}

我们将不胜感激解决此错误的任何帮助。提前致谢

【问题讨论】:

  • 只是我面临的一些问题。这个过程在一个简单的 java 应用程序项目中运行良好。
  • 查看这个答案 - stackoverflow.com/a/64799844/9640177 如果遇到运行时错误

标签: java maven spring-mvc opencv javacv


【解决方案1】:

解决了这个..

根据堆栈帖子,我包含以下代码行来加载库..

static{
        String osName = System.getProperty("os.name");
        String opencvpath = System.getProperty("user.dir");
        if(osName.startsWith("Windows")) {
            int bitness = Integer.parseInt(System.getProperty("sun.arch.data.model"));
            if(bitness == 32) {
                opencvpath=opencvpath+"\\opencv\\x86\\";
            }
            else if (bitness == 64) { 
                opencvpath=opencvpath+"\\opencv\\x64\\";
            } else { 
                opencvpath=opencvpath+"\\opencv\\x86\\"; 
            }           
        } 
        else if(osName.equals("Mac OS X")){
            opencvpath = opencvpath+"Your path to .dylib";
        }
        System.out.println(opencvpath);
        System.load(opencvpath + Core.NATIVE_LIBRARY_NAME + ".dll");
        //nu.pattern.OpenCV.loadShared();
        //System.loadLibrary(org.opencv.core.Core.NATIVE_LIBRARY_NAME);
    }

在检查各种参数时发现 os.name 返回了 WINDOWS。 user.dir 返回 eclipse 根目录,而 sun.arch.data.model 返回 64。基于此代码,我在 eclipse 根目录中创建了必要的文件夹,并将最新的 opencv dll 粘贴到那里。 但现在另一个问题是代码正在搜索旧版本的 dll 并且不接受这个新版本。
问题是由于内置库使用的是旧版本的 opencv 而我试图使用最新版本。所以我不得不从该库的 maven 依赖项中排除以前版本的 opencv,然后问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-25
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多