opencv android使用方法,Android opencv使用

packagechenlong.chenlong.java_opencv;importandroidx.appcompat.app.AppCompatActivity;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Bundle;importandroid.util.Log;importandroid.widget.ImageView;importandroid.widget.SeekBar;importandroid.widget.TextView;importorg.opencv.android.OpenCVLoader;importorg.opencv.android.Utils;importorg.opencv.core.CvType;importorg.opencv.core.Mat;importorg.opencv.core.Size;importorg.opencv.imgproc.Imgproc;importorg.w3c.dom.Text;public class MainActivity extendsAppCompatActivity {

SeekBar seekBar2;

TextView textView;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

seekBar2=findViewById(R.id.seekBar2);

textView=findViewById(R.id.textView);final ImageView imageView=(ImageView)findViewById(R.id.imageView);if (!OpenCVLoader.initDebug())

Log.e("OpenCv", "Unable to load OpenCV");elseLog.d("OpenCv", "OpenCV loaded");//mat变换.opencv do use mat show in ANDROID

seekBar2.setOnSeekBarChangeListener(newSeekBar.OnSeekBarChangeListener() {

@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, booleanfromUser) {final Bitmap bitmapNew=BitmapFactory.decodeResource(MainActivity.this.getResources(), R.drawable.aa);//final Bitmap bitmapNew = bitmap.copy(Bitmap.Config.ARGB_8888, true);

textView.setText(progress+"");

Mat src= newMat(bitmapNew.getHeight(), bitmapNew.getWidth(), CvType.CV_8UC4);

Utils.bitmapToMat(bitmapNew, src);//turn bitmap into mat

Imgproc.cvtColor(src, src, Imgproc.COLOR_RGB2GRAY);//灰色//Gaussian Filters

Imgproc.GaussianBlur(src, src, new Size(1, 1), progress, progress);//模糊

Mat dst= Mat.zeros(newSize(src.width(), src.height()), CvType.CV_8UC3);

Imgproc.threshold(src, dst, progress, progress,

Imgproc.THRESH_OTSU);final Bitmap bitret = bitmapNew.copy(Bitmap.Config.ARGB_8888, true);

Utils.matToBitmap(dst, bitret);

imageView.setImageBitmap(bitret);

}

@Overridepublic voidonStartTrackingTouch(SeekBar seekBar) {

}

@Overridepublic voidonStopTrackingTouch(SeekBar seekBar) {

}

});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值