您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

nu.pattern.OpenCV $ UnsupportedPlatformException:不支持操作系统“ WINDOWS”和体系结构“ X86_64”

nu.pattern.OpenCV $ UnsupportedPlatformException:不支持操作系统“ WINDOWS”和体系结构“ X86_64”

解决了这个

基于一个堆栈帖子,我包括了以下几行代码来加载库。

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,而我正在尝试使用最新版本。因此,我不得不从该库和tada的maven依赖项中排除opencv的先前版本,从而解决了问题。

其他 2022/1/1 18:19:50 有642人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶