Appium+Opencv 图像识别在自动化中的使用1-环境搭建

Appium+Opencv java环境创建

看了一篇关于手机图像识别在手机自动化中的应用的文章,很敢兴趣,所以进行了摸索尝试。这里记录环境的搭建。


涉及工具

  • Appium
  • genymotion
  • virtualbox
  • Android sdk
  • IntelliJ

环境搭建

由于Appium的环境搭建已经在其他博文中有了介绍,就只关注opencv的使用了。

由于我们使用java进行开发,所以使用opencv的java接口库javacv,相关的资料可以查看:https://github.com/bytedeco/javacv
踩了很久的坑发现官方的安装方法有bug,使用gradle方式时,有一个jar包无法下载,坑了很久。

其实环境搭建非常简单,创建一个gradle project,在build.gradle文件中添加dependence:

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.2'
    compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.2', classifier:'macosx-x86_64'
    configurations {
        all*.exclude group: 'org.bytedeco', module: 'javacpp-presets'
    }
}

添加dependence后,会自动下载相关的jar包,下面我们进行一个简单的测试,验证环境。

这个例子是官网上的,对图像进行smooth处理

public static void smooth(String filename) {
        IplImage image = cvLoadImage(filename);
        if (image != null) {
            cvSmooth(image, image);
            cvSaveImage("test.png", image);
            cvReleaseImage(image);
            System.out.println("Smooth Done!");
        }
    }

在根目录下放入被处理的图片:
Appium+Opencv 图像识别在自动化中的使用1-环境搭建_第1张图片
处理后:
Appium+Opencv 图像识别在自动化中的使用1-环境搭建_第2张图片

总结

环境搭建很简单,使用也很容易,后面将记录Appium+Opencv在Android自动化上的使用。

你可能感兴趣的:(自动化,工作)