opencv-学习笔记(4)-模糊


本章要点:

4种模糊方式


2d卷积

Cv2.filter2D(‘图像对象’,‘目标图像这里直接设为-1即可’,kernal,anchor(-1,-1))

一般后一个参数略去就行

Kernal的定义用nump.ones((5,5),np.float)/25  这里可以自己调节

import cv2
import numpy as np
from matplotlib import pyplot as plt img=cv2.imread('new.jpg') kernal=np.ones((8,8),np.float32)/64 dst=cv2.filter2D(img,-1,kernal) plt.subplot(121),plt.imshow(img),plt.title('ORignial')
plt.xticks([]),plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Averaging')
plt.xticks([]),plt.yticks([])
plt.show()


opencv提供了四种模糊方式

第一种

首先是最基础的归一化卷积

效果和filter2D一样

Newimg=Cv2.blur(‘图像对象’,(5,5))建议用这个代替上面的filter2D

第二种中心化

把卷积核变成高斯核

我们可以用cv2.getGaussianKernel()构建一个高斯核

也可以直接

#后面分别是高斯核大学和标准差

Blur=cv2.GaussianBlur(img,(5,5),0)

第三种是中值模糊

中值模糊用来除去椒盐噪声。

用中心像素周围或者本身来取代。能有效去除噪声,要求卷积核为奇数

cv.medianBlur(img,5)

第四种是双边滤波

Cv2.bilateralFilter()能保持边界清晰的情况去除噪声,不过速度比较慢,

双边滤波用了空间高斯权重和灰度值相似性高斯权重,空间高斯确保只有领近的像素对中心点有影响,灰度值相似性高斯确保只有中心与邻近相似时候才会做模糊运算

Cv2.bilateralFilter(图像对象,为领域直接,空间高斯函数标准差,灰度值相似性高斯函数标准差)

opencv-学习笔记(4)-模糊的更多相关文章

  1. OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波

    http://blog.csdn.net/chenyusiyuan/article/details/8710462 OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波 201 ...

  2. OpenCV 学习笔记 02 使用opencv处理图像

    1 不同色彩空间的转换 opencv 中有数百种关于不同色彩空间的转换方法,但常用的有三种色彩空间:灰度.BRG.HSV(Hue-Saturation-Value) 灰度 - 灰度色彩空间是通过去除彩 ...

  3. OpenCV学习笔记5

    OpenCV学习笔记5 图像变换 傅里叶变换 这里可以先学习一下卷积分,了解清除卷积的过程和实际意义,在看这一章节的内容. 原理: 傅里叶变换经常被用来分析不同滤波器的频率特性.我们可以使用 2D 离 ...

  4. OpenCV学习笔记3

    OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...

  5. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  6. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  7. opencv学习笔记(五)镜像对称

    opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...

  8. opencv学习笔记(四)投影

    opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...

  9. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  10. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

随机推荐

  1. Web—02-轻松理解css

    CSS基本语法以及页面引用 CSS基本语法 css的定义方法是: 选择器 { 属性:值; 属性:值; 属性:值;} 选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个 ...

  2. DB数据源之SpringBoot+MyBatis踏坑过程(五)手动使用Hikari连接池

    DB数据源之SpringBoot+MyBatis踏坑过程(五)手动使用Hikari连接池 liuyuhang原创,未经允许禁止转载  系列目录连接 DB数据源之SpringBoot+Mybatis踏坑 ...

  3. windows用交互式命令执行python程序

    1.进入cmd命令 windows+r2.进入盘符,eg:E:3.使用dir命令查看当前文件夹下的所有目录4.使用绝对路径或者相对路径和cd命令直接进入想要到达的文件夹目录(或者使用cd命令一步一步达 ...

  4. 学习笔记 - Manacher算法

    Manacher算法 - 学习笔记 是从最近Codeforces的一场比赛了解到这个算法的~ 非常新奇,毕竟是第一次听说 \(O(n)\) 的回文串算法 我在 vjudge 上开了一个[练习],有兴趣 ...

  5. VMware10安装CentOS7

    先去网上下载一个VMware的破解版或者激活版,安装配置这里就不介绍了自行下载安装,基本过程相当于windows下安装个软件而已. CentOS7镜像下载就下阿里云站点的这是链接 http://mir ...

  6. hadoop生态搭建(3节点)-15.Nginx_Keepalived_Tomcat配置

    # Nginx+Tomcat搭建高可用服务器名称 预装软件 IP地址Nginx服务器 Nginx1 192.168.6.131Nginx服务器 Nginx2 192.168.6.132 # ===== ...

  7. C Mingw gcc printf 刷新缓冲行

    C Mingw gcc printf 刷新缓冲行 参考:https://stackoverflow.com/questions/13035075/printf-not-printing-on-cons ...

  8. Vi中进行多行指定内容替换

    1.先按Esc进入命令模式,然后在打出‘:’(英文输入模式下) 2.输入格式:  首行数,末行数s/要替换的字符串/替换的字符串/g    (不加g只替换每行的一个要替换的字符串,后面的不会替换) e ...

  9. 北京Uber优步司机奖励政策(1月11日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. fastjson处理json

    返回主页 你是风儿 博客园首页新随笔联系订阅管理 随笔 - 29 文章 - 0 评论 - 23 FastJson对于JSON格式字符串.JSON对象及JavaBean之间的相互转换 fastJson对 ...