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在Android自动化上的使用。