比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

在Android 上运行 openCV ,并做灰度变化的一个例子

在Android 上运行 openCV ,并做灰度变化的一个例子

OpenCVImageProcessing
1. 导入Opencv的 androrid SDK
灰度算法 OpenCVImageProcessing

导入opencv Jar包,配置OpenCVLibrary340 的 bulid.gradle , 配置Module:app 的 build.gradle , 在依赖里添加

implementation fileTree(dir: “$buildDir/native-libs”, include: ‘native-libs.jar’)
1
在Gradle Scripts 里修改 dependencies

dependencies {
implementation fileTree(include: [‘*.jar’], dir: ‘libs’)
implementation fileTree(dir: “$buildDir/native-libs”, include: ‘native-libs.jar’)
implementation ‘com.android.support:appcompat-v7:28.0.0’
implementation ‘com.android.support.constraint:constraint-layout:1.1.3’
testImplementation ‘junit:junit:4.12’
androidTestImplementation ‘com.android.support.test:runner:1.0.2’
androidTestImplementation ‘com.android.support.test.espresso:espresso-core:3.0.2’
implementation project(‘:openCVLibrary340’)
}

task nativeLibsToJar(type: Jar, description: ‘create a jar archive of the native libs’) {
destinationDir file(“$buildDir/native-libs”)
baseName ‘native-libs’
from fileTree(dir: ‘libs’, include: ‘**/*.so’)
into ‘lib/’
}

tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

2. 灰度算法

@Override
public void onClick(View v) {
convert2Gray();
}

private void convert2Gray() {
Mat src = new Mat();
Mat temp = new Mat();
Mat dst = new Mat();
Bitmap image = BitmapFactory.decodeResource(this.getResources(),R.drawable.tantuo);
Utils.bitmapToMat(image,src);
Imgproc.cvtColor(src, temp , Imgproc.COLOR_RGBA2BGR);
Log.i( “CV”, “image type:” + (temp.type() == CvType.CV_8UC3));
Imgproc.cvtColor(temp, dst, Imgproc.COLOR_BGR2GRAY);
Utils.matToBitmap(dst,image);
ImageView imageView = (ImageView) findViewById(R.id.imageView);
imageView.setImageBitmap(image);

点击按钮,Imgproc.cvtColor(src, temp , Imgproc.COLOR_RGBA2BGR)
———————
作者:谭妥
来源:CSDN
原文:https://blog.csdn.net/weixin_37734988/article/details/90411605
版权声明:本文为博主原创文章,转载请附上博文链接!

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS