Aplicativo Android para demonstrar a utilização do biblioteca OpenCV, e com ela fazer a aplicação de filtros e manipulação de imagens.
Baixar a versão 3.4.6 do OpenCV para Android, no link abaixo se encontram todas as versões para diferentes plataformas.
Link direto para versão que será usada:
https://tenet.dl.sourceforge.net/project/opencvlibrary/3.4.6/opencv-3.4.6-android-sdk.zip
Após feito o download e criado um novo projeto, é preciso importar o módulo a partir do Android Studio. Acesse o menu File > New > Import Module...
Em Sorce Directory é preciso passar o caminho de onde foi extraido o OpenCV. Mas é preciso passar o caminho até o SDK para Java, que está dentro da pasta do OpenCV. Como no exemplo abaixo:
/home/guilherme/OpenCV-android-sdk/sdk/java
Após inserir o caminho do módulo as próximas configurações sugeridas pelo Android Studio podem ser mantidas.
Altere a perspectiva do Android Studio para Project para que possa ser acessado a estrutura do projeto. Copie a pasta libs, localizada em OpenCV-android-sdk/sdk/native, para o diretório app/src/main do seu projeto, a pasta deve ser renomeada para jniLibs.
Acesse o menu File > Project Structure > Dependencies. Clique sobre o seu App e depois clique em +, e adicione o OpenCV como uma dependência para o seu projeto.
Normalmente após importar é preciso corrigir as configuração do Gradle do OpenCV, para estar de acordo com as configurações do seu projeto.
Acesse o Gradle do módulo e altere as as configurações compileSdkVersion, buildToolsVersion, minSdkVersion e targetSdkVersion para o mesmo configurado no Gradle do App. E caso o parâmetro apply plugin do módulo esteja como valor com.android.application, altere para com.android.library.
Gradle do Módulo OpenCV
apply plugin: 'com.android.library'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
minSdkVersion 22
targetSdkVersion 29
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
Se o AndroidManifest.xml do OpenCV trouxer o parâmetro uses-sdk, o mesmo deverá ser removido. Esta configuração, atualmente é feita somente no Gradle.
Para o minicurso será utilizado a interface criada no link abaixo. A partir dela vamos usar algumas das funções do OpenCV para manipular imagens.
Os exemplos que serão criados durante o minicurso podem ser encontrados no link abaixo.
Será preciso adicionar no AndroidManifest.xml do App os recursos que serão utilizados.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Abaixo está um exemplo de como é o funcionamento da aplicação que será desenvolvida durante o minicurso.
