添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

我们首先定义一个合适大小的核

Mat kernelErode = Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, new Size(5, 5));

然后调用 Imgproc.erode() 方法把图像的暗区放大

// 扩大暗区(腐蚀)
Imgproc.erode(src, src, kernelErode);
* 扩大图片暗区(腐蚀图片) * @param bitmap 要处理的图片 public void erode (Bitmap bitmap) { // 使用RxJava处理图片 if ( null != mSubscriber) Observable .just(bitmap) .map( new Func1<Bitmap, Bitmap>() { @Override public Bitmap call (Bitmap bitmap) { // Bitmap转为Mat Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4); Utils.bitmapToMat(bitmap, src); // 定义一个合适大小的核 Mat kernelErode = Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, new Size( 5 , 5 )); // 扩大暗区(腐蚀) Imgproc.erode(src, src, kernelErode); // Mat转Bitmap Bitmap processedImage = Bitmap.createBitmap(src.cols(), src.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(src, processedImage); return processedImage; .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(mSubscriber);
// 图片处理的工具类
mBlurUtil = new BlurUtil(new Subscriber<Bitmap>() {
    @Override
    public void onCompleted() {
        // 图片处理完成
        dismissProgressDialog();
    @Override
    public void onError(Throwable e) {
        // 图片处理异常
        dismissProgressDialog();
    @Override
    public void onNext(Bitmap bitmap) {
        // 获取到处理后的图片
        mIvImageProcessed.setImageBitmap(bitmap);
// 扩大图片暗区
mBlurUtil.erode(mSelectImage);