Opencv 安装配置-windows

版权声明:编码不易,禁止转载 https://blog.csdn.net/u_ascend/article/details/84992689

opencv 3.X以后对一些不稳定的模块提取了出来。比如收费的算法等,windows下编译是一个很费事的事情。我费老大劲编译好了一个带 contrib 模块的opencv。
地址:链接:https://share.weiyun.com/5KoAV21 密码:bk4hxy

  • 文件下载完成后解压在一个无空格和中文的目录。eg:Z:\ProgramFiles\myopencv343\
  • 添加环境变量。eg:Z:\ProgramFiles\myopencv343\x64\vc15\bin
  • 复制dll到%JAVA_HOME%\jre\bin\目录下。eg:Z:\ProgramFiles\myopencv343\java\opencv_java343.dll ==> Z:\ProgramFiles\Java\jdk1.8.0_192\jre\bin
  • 新建基于maven的java项目,pom如下
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.edu.zua.javacv</groupId>
    <artifactId>javacv</artifactId>
    <version>1.0-SNAPSHOT</version>

    <name>javacv</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>
    <description>测试javacv</description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>

        <javacpp.platform.dependencies>windows-x86_64</javacpp.platform.dependencies>

        <!--下面的平台只是用来参考配置 javacpp.platform.dependencies-->
        <javacpp.platform.android-arm>android-arm</javacpp.platform.android-arm>
        <javacpp.platform.android-arm64>android-arm64</javacpp.platform.android-arm64>
        <javacpp.platform.android-x86>android-x86</javacpp.platform.android-x86>
        <javacpp.platform.android-x86_64>android-x86_64</javacpp.platform.android-x86_64>
        <javacpp.platform.ios-arm>ios-arm</javacpp.platform.ios-arm>
        <javacpp.platform.ios-arm64>ios-arm64</javacpp.platform.ios-arm64>
        <javacpp.platform.ios-x86>ios-x86</javacpp.platform.ios-x86>
        <javacpp.platform.ios-x86_64>ios-x86_64</javacpp.platform.ios-x86_64>
        <javacpp.platform.linux-armhf>linux-armhf</javacpp.platform.linux-armhf>
        <javacpp.platform.linux-arm64>linux-arm64</javacpp.platform.linux-arm64>
        <javacpp.platform.linux-ppc64le>linux-ppc64le</javacpp.platform.linux-ppc64le>
        <javacpp.platform.linux-x86>linux-x86</javacpp.platform.linux-x86>
        <javacpp.platform.linux-x86_64>linux-x86_64</javacpp.platform.linux-x86_64>
        <javacpp.platform.macosx-x86_64>macosx-x86_64</javacpp.platform.macosx-x86_64>
        <javacpp.platform.windows-x86>windows-x86</javacpp.platform.windows-x86>
        <javacpp.platform.windows-x86_64>windows-x86_64</javacpp.platform.windows-x86_64>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv-platform</artifactId>
            <version>1.4.3</version>
            <classifier>${javacpp.platform.dependencies}</classifier>
        </dependency>

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.7.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.20.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
  • 新建Class 测试
package cn.edu.zua.javacv;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;

/**
 * Hello world!
 *
 */
public class App {
    public static void main( String[] args ) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

        Mat horse = Imgcodecs.imread("/tmp/shine0.jpg");
        HighGui.imshow("result", horse);
        HighGui.waitKey();
        System.exit(0);

    }
}

效果如下
光辉女郎


看这里,看这里
文章总目录:博客导航
参考文章:https://blog.csdn.net/u_ascend/article/details/84992689

猜你喜欢

转载自blog.csdn.net/u_ascend/article/details/84992689