}
}
public void toGary(Bitmap bitmap) {
if (isInit) {
Mat mat = new Mat();
Utils.bitmapToMat(bitmap, mat);
Imgproc.cvtColor(mat, mat, Imgproc.COLOR_RGBA2GRAY);
Utils.matToBitmap(mat, bitmap);
} else {
Toast.makeText(context, “OpenCV init error”, Toast.LENGTH_LONG).show();
}
}
}
然后是MainActivity,内容如下:
public class MainActivity extends Activity implements OnClickListener {
private ImageView imageView;
private Bitmap bitmap;
private Button showBtn, processBtn;
private OpenCV_Java javaUtil = new OpenCV_Java(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
showBtn = (Button) findViewById(R.id.show);
showBtn.setOnClickListener(this);
processBtn = (Button) findViewById(R.id.process);
processBtn.setOnClickListener(this);
}
@Override
public void onResume() {
super.onResume();
if (!OpenCVLoader.initDebug()) {
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, this, javaUtil);
} else {
javaUtil.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
}
@Override
public void onClick(View v) {
if (v == showBtn) {
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
imageView.setImageBitmap(bitmap);
} else {
if (bitmap != null) {//避免二次处理
javaUtil.toGary(bitmap);
imageView.setImageBitmap(bitmap);
bitmap = null;
}
}
}
}
布局内容:
代码编写完毕,但此时还不能运行,因为手机还未安装OpenCV Manager.apk。
2.3、安装OpenCV Manager
位于OpenCV-android-sdk\apk目录下,选择合适的apk程序安装(一般选择Open

最低0.47元/天 解锁文章
3954

被折叠的 条评论
为什么被折叠?



