nu.pattern.OpenCV$UnsupportedPlatformException:不支持操作系统 "WINDOWS" 和体系结构 "X86_64"
nu.pattern.OpenCV$UnsupportedPlatformException: Operating system "WINDOWS" and architecture "X86_64" are not supported
我正在尝试在具有以下 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);
}
如能帮助解决此错误,我们将不胜感激。提前致谢
解决了这个..
基于堆栈 post 我包含了以下代码行来加载库..
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,问题就解决了。
我正在尝试在具有以下 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);
}
如能帮助解决此错误,我们将不胜感激。提前致谢
解决了这个..
基于堆栈 post 我包含了以下代码行来加载库..
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,问题就解决了。