精华内容
下载资源
问答
  • OpenCV均值模糊方法

    千次阅读 2016-08-17 18:13:57
    存粹越多,请访问OpenCV均值模糊方法效果图源码KqwOpenCVBlurDemo步骤 将获取到的Bitmap图片转成Mat对象 // Bitmap转为Mat Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4); Utils....

    存粹越多,请访问OpenCV均值模糊方法

    效果图

    效果图

    效果图

    源码

    KqwOpenCVBlurDemo

    步骤

    1. 将获取到的Bitmap图片转成Mat对象
    // Bitmap转为Mat
    Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4);
    Utils.bitmapToMat(bitmap, src);
    1. 调用OpenCV的均值模糊方法
    // 均值模糊方法
    Imgproc.blur(src, src, new Size(100, 100));
    1. 将处理完的Mat数据转成Bitmap对象
    // Mat转Bitmap
    Bitmap processedImage = Bitmap.createBitmap(src.cols(), src.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(src, processedImage);

    封装

    这里我用到了RxJava。主要是因为图片处理是耗时操作,会阻塞线程,为了防止界面卡顿,这里使用RxJava进行了线程切换。

    package kong.qingwei.kqwopencvblurdemo;
    
    import android.graphics.Bitmap;
    
    import org.opencv.android.Utils;
    import org.opencv.core.CvType;
    import org.opencv.core.Mat;
    import org.opencv.core.Size;
    import org.opencv.imgproc.Imgproc;
    
    import rx.Observable;
    import rx.Subscriber;
    import rx.android.schedulers.AndroidSchedulers;
    import rx.functions.Func1;
    import rx.schedulers.Schedulers;
    
    /**
     * Created by kqw on 2016/8/17.
     * 图片虚化的工具类
     */
    public class BlurUtil {
    
        private Subscriber<Bitmap> mSubscriber;
    
        public BlurUtil(Subscriber<Bitmap> subscriber) {
            mSubscriber = subscriber;
        }
    
        public void blur(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);
    
                                // 均值模糊方法
                                Imgproc.blur(src, src, new Size(100, 100));
    
                                // 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.blur(mSelectImage);
    展开全文
  • OpenCV运动去模糊滤波器运动去模糊滤波器目标理论运动模糊图像的PSF是多少?如何恢复模糊的图像?源代码解释结果 运动去模糊滤波器 目标 在本教程中,您将学习: 运动模糊图像的PSF是多少 如何还原运动模糊图像 理论...

    运动去模糊滤波器

    目标

    在本教程中,您将学习:
    运动模糊图像的PSF是多少
    如何还原运动模糊图像

    理论

    运动模糊图像的PSF是多少?

    线性运动模糊失真的点扩展函数(PSF)是线段。 这样的PSF由两个参数指定:LENTHETA
    在这里插入图片描述
    线性运动模糊失真的点扩散函数

    如何恢复模糊的图像?

    在此页面上,Wiener过滤器用作恢复过滤器, 为了在运动模糊情况下合成维纳滤波器,需要指定信噪比(SNRLENTHETA)

    源代码

    展开全文
  • OpenCV中值模糊方法

    千次阅读 2016-08-18 15:58:52
    纯粹阅读,请移步OpenCV中值模糊方法效果图源码KqwOpenCVBlurDemo步骤 将获取到的Bitmap图片转成Mat对象 // Bitmap转为Mat Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4); Utils....

    纯粹阅读,请移步OpenCV中值模糊方法

    效果图

    效果图

    效果图

    源码

    KqwOpenCVBlurDemo

    步骤

    1. 将获取到的Bitmap图片转成Mat对象
    // Bitmap转为Mat
    Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4);
    Utils.bitmapToMat(bitmap, src);
    1. 调用OpenCV的中值模糊方法
    // 中值模糊方法
    Imgproc.medianBlur(src, src, 33);
    1. 将处理完的Mat数据转成Bitmap对象
    // Mat转Bitmap
    Bitmap processedImage = Bitmap.createBitmap(src.cols(), src.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(src, processedImage);

    封装

    这里我用到了RxJava。主要是因为图片处理是耗时操作,会阻塞线程,为了防止界面卡顿,这里使用RxJava进行了线程切换。

    package kong.qingwei.kqwopencvblurdemo;
    
    import android.graphics.Bitmap;
    
    import org.opencv.android.Utils;
    import org.opencv.core.CvType;
    import org.opencv.core.Mat;
    import org.opencv.core.Size;
    import org.opencv.imgproc.Imgproc;
    
    import rx.Observable;
    import rx.Subscriber;
    import rx.android.schedulers.AndroidSchedulers;
    import rx.functions.Func1;
    import rx.schedulers.Schedulers;
    
    /**
     * Created by kqw on 2016/8/17.
     * 图片虚化的工具类
     */
    public class BlurUtil {
    
        private Subscriber<Bitmap> mSubscriber;
    
        public BlurUtil(Subscriber<Bitmap> subscriber) {
            mSubscriber = subscriber;
        }
    
        /**
         * 中值模糊方法
         *
         * @param bitmap 要处理的图片
         */
        public void medianBlur(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);
    
                                // 中值模糊方法
                                Imgproc.medianBlur(src, src, 33);
    
                                // 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.medianBlur(mSelectImage);
    展开全文
  • OpenCV高斯模糊方法

    千次阅读 2016-08-17 19:04:06
    纯粹阅读,请移步OpenCV高斯模糊方法效果图源码KqwOpenCVBlurDemo步骤 将获取到的Bitmap图片转成Mat对象 // Bitmap转为Mat Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4); Utils....

    纯粹阅读,请移步OpenCV高斯模糊方法

    效果图

    高斯模糊方法

    高斯模糊方法

    源码

    KqwOpenCVBlurDemo

    步骤

    1. 将获取到的Bitmap图片转成Mat对象
    // Bitmap转为Mat
    Mat src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC4);
    Utils.bitmapToMat(bitmap, src);
    1. 调用OpenCV的高斯模糊方法
    // 高斯模糊方法
    Imgproc.GaussianBlur(src, src, new Size(91, 91), 0);
    1. 将处理完的Mat数据转成Bitmap对象
    // Mat转Bitmap
    Bitmap processedImage = Bitmap.createBitmap(src.cols(), src.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(src, processedImage);

    封装

    这里我用到了RxJava。主要是因为图片处理是耗时操作,会阻塞线程,为了防止界面卡顿,这里使用RxJava进行了线程切换。

    package kong.qingwei.kqwopencvblurdemo;
    
    import android.graphics.Bitmap;
    
    import org.opencv.android.Utils;
    import org.opencv.core.CvType;
    import org.opencv.core.Mat;
    import org.opencv.core.Size;
    import org.opencv.imgproc.Imgproc;
    
    import rx.Observable;
    import rx.Subscriber;
    import rx.android.schedulers.AndroidSchedulers;
    import rx.functions.Func1;
    import rx.schedulers.Schedulers;
    
    /**
     * Created by kqw on 2016/8/17.
     * 图片虚化的工具类
     */
    public class BlurUtil {
    
        private Subscriber<Bitmap> mSubscriber;
    
        public BlurUtil(Subscriber<Bitmap> subscriber) {
            mSubscriber = subscriber;
        }
    
        /**
         * 高斯模糊方法
         *
         * @param bitmap 要处理的图片
         */
        public void gaussianBlur(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);
    
                                // 高斯模糊方法
                                Imgproc.GaussianBlur(src, src, new Size(91, 91), 0);
    
                                // 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.gaussianBlur(mSelectImage);
    展开全文
  • opencv 高斯模糊

    2018-06-29 11:00:00
    opencv 高斯模糊 import numpy as np import cv2 from scipy import ndimage k33=np.array([[-1,-1,-1], [-1,8,-1], [-1,-1,-1]]) k33d=n...
  • python opencv生成模糊图像.pdf
  • OpenCV图像模糊

    2020-06-05 17:47:22
    模糊不清的事物;模糊的记忆;污迹 OpenCV的blur函数是用了均值滤波的原理 #include <vector> #include <stdio.h> #include<opencv2/opencv.hpp> using namespace cv; using namespace std; ...
  • 初学opencv4 模糊操作

    2021-02-20 17:26:18
    今天来总结opencv模糊处理的知识点 模糊操作可以说是一个比较重要的,所以在学之前建议还是复习一下前面的知识。 初学opencv1 初学opencv2 初学opencv3 模糊操作基本元理 ·1.基于离散卷积 ·2.定义好每个卷积核 ...
  • OpenCV 图片模糊处理

    千次阅读 2019-07-25 22:06:20
    OpenCV 图片模糊处理 比图片处理技术, OpenCV 还是专业呀,不得不服气,处理速度快,而且效果非常棒,很满意。 效果 Mat mat_1 = cv::imread("图片.jpg"); Mat mat_2; // 设置大小 cv::resize(mat_1, mat_1, Size...
  • opencv图像模糊降噪

    千次阅读 2018-01-20 19:51:54
    // 图像模糊处理.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "opencv2/opencv.hpp" #include "opencv2/highgui.hpp" using namespace cv; using namespace std; int main() { Mat src,...
  • OpenCV 高斯模糊

    千次阅读 2019-03-27 16:26:05
    高斯滤波器相比于均值滤波器对图像个模糊程度较小。 高斯公式 matlab代码 clear; a=0;sigma=0.8; x=-10:0.0001:10; figure(1) y=(1/((sqrt(2*pi))*sigma))*exp(-((x-a).^2)/(2*sigma.^2)); plot(x,y,'b','...
  • 模糊和眩光检测opencv 使用opencv进行模糊和眩光检测
  • OpenCV-模糊Smoothing详解

    2016-07-14 21:51:02
    模糊功能有噪点,减轻失真,降低图像分辨率的作用 OpenCV中,模糊功能的函数叫cvSmooth 其原型 void cvSmooth( const CvArr *src, CvArr *dst, int smoothtype = CV_GAUSSIAN, int param1 = 3, int...
  • opencv2/opencv.hpp> #include<opencv2/highgui.hpp>//opencv highgui模块头文件 #include<opencv2/imgproc.hpp>//opencv 图像处理头文件 using namespace cv; int main() { Mat img = imread("test...
  • Opencv图像模糊

    2015-08-20 23:44:56
    #include<opencv2/opencv.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; using namespace cv; int main() { Mat srcImage = imread("G:\\group.jpg")...
  • opencv模糊处理

    2019-02-15 12:22:00
    初学OpenCV的开发者很容易被OpenCV中各种滤波方法所困扰,不知道到底该用哪里一个来做滤波。表面原因看起来是因为OpenCV中各种滤波方式实在是太...一:模糊函数blur 参数说明 -参数InputArray表示输入图像Mat...
  • opencv-模糊图像

    2019-01-22 13:48:30
    /对图像进行均值滤波操作,模糊一副图像/ #include “pch.h” #include #include &lt;opencv2/opencv.hpp&gt; using namespace cv; int main() { Mat image = imread(“C:/Users/csh/Desktop/1.jpg”); ...
  • #include "opencv/highgui.h" int main(){  IplImage *img= cvLoadImage("C:\\lena.jpg");//读取图片  cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);  cvNamedWindow("Example2",CV
  • OpenCV实现模糊操作

    2020-05-30 18:17:28
    模糊操作的基本原理:1.基于离散卷积,2.定义好每个卷积核,3.不同卷积核得到不同的卷积效果,4.模糊是卷积的一种表象 import cv2 as cv import numpy as np def blur_demo(image): # 均值模糊 dst = cv.blur...
  • 去除由于对焦,运动等造成的模糊图像,所以在构建数据集的时候考虑用opencv对清晰的图片进行处理获得模糊的图片从而进行训练。 1) 运动模糊图像 一般来说,运动模糊的图像都是朝同一方向运动的,那么就可以利用cv...
  • python opencv图片模糊

    千次阅读 2019-08-06 14:19:56
    https://blog.csdn.net/dcrmg/article/details/82317181 运动模糊 高斯模糊 代码图片 https://blog.csdn.net/chevroletss/article/details/49785435 均值高斯运动模糊 代码 图片
  • 在 Python 中使用 OpenCV 高斯模糊我这张的丑脸

    千次阅读 多人点赞 2021-06-06 14:00:08
    在本篇博客中,你将学习如何使用 Python 中的 OpenCV模糊图像和视频中的人脸。 为了模糊图像中显示的人脸,首先检测这些人脸及其在图像中的位置。对此,查看之前的一篇关于人脸检测的教程,在这里使用人脸检测的...
  • opencv2\opencv.hpp> #include<iostream> #include<math.h> using namespace cv; using namespace std; Mat src,dst, gblur; int main() { src = imread("C:/Users/asus/Desktop/tup....
  • opencv图像模糊代码

    2016-07-18 13:22:00
    //图像模糊blur函数#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main(){ Mat srcImage = imread("2.jpg"); //载入图片 imshow("原图",...
  • OpenCV离焦去模糊滤镜

    2021-04-20 20:00:56
    OpenCV离焦去模糊滤镜离焦去模糊滤镜目标理论什么是降级图像模型?如何恢复模糊的图像?什么是维纳过滤器?源代码解释结果 离焦去模糊滤镜 目标 在本教程中,您将学习: 什么是退化图像模型 离焦图像的PSF是多少 ...
  • 均值模糊与中值模糊 import cv2 as cv import numpy as np def blur_demo(img): dst1 = cv.blur(img, (5, 5)) # 均值模糊 cv.imshow("blur_demo", dst1) def median_blur_demo(img): dst2 = cv.medianBlur...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,748
精华内容 7,499
关键字:

opencv去模糊