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

时间:2021-10-15 17:38:49

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-环境搭建
处理后:
Appium+Opencv 图像识别在自动化中的使用1-环境搭建

总结

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