0
点赞
收藏
分享

微信扫一扫

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用


Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_android


最近在研究opencv,顺便记录一下免得下次忘记咋整的了。先去官网下载opencv

​​http://opencv.org/downloads.html​​

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_ide_02


将解压的文件放入你的项目空间下面

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_ide_03

1、导入下载的项目

File ——Import——general——Existing projects into workspace

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_灰度图像_04


选择你的项目只导入红框就可以了,我这里因为之前导入过了,所以显示的是灰色。

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_灰度图像_05


2、新建Android project 新建完成后点击项目右键——properties——Android——add添加library

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_ide_06


3、将解压的文件下的lib文件夹直接拷贝到自己的目录下面

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_ide_07


项目

Android OpenCV简单图片处理,不需要安装Manager,不需要ndk,简单实用_ide_08


4、Mainactivity代码

package com.example.demo;

import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.Utils;
import org.opencv.core.Mat;
import org.opencv.imgproc.Imgproc;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity
private Button mButton;
private ImageView mImageview;
private Bitmap mBitmap;
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS: {
Mat rgbMat = new Mat();
Mat grayMat = new Mat();
// 获取ic彩色图像所对应的像素数据
Utils.bitmapToMat(mBitmap, rgbMat);
// 将彩色图像数据转换为灰度图像数据并存储到grayMat中
Imgproc.cvtColor(rgbMat, grayMat, Imgproc.COLOR_RGB2GRAY);
// 创建一个灰度图像
Bitmap grayBmp = Bitmap.createBitmap(mBitmap.getWidth(),
mBitmap.getHeight(), Config.RGB_565);
// 将矩阵grayMat转换为灰度图像
Utils.matToBitmap(grayMat, grayBmp);
mImageview.setImageBitmap(grayBmp);
}
break;
default: {
super.onManagerConnected(status);
}
break;
}
}
};
static {
if (!OpenCVLoader.initDebug()) {
System.out.println("opencv 初始化失败!");
} else {
System.loadLibrary("opencv_java3");
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button) findViewById(R.id.button);
mImageview = (ImageView) findViewById(R.id.imageview);
mBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.ic_launcher);
mButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub


举报

相关推荐

0 条评论