OpenCV之高通滤波
高通滤波最主要的作用是检测边缘
Sobel(索贝尔)(高斯):
对噪音适用性很强,在内部首先使用了高斯滤波对噪音进行过滤,之后再通过一阶导求得图像边缘。【若卷积核size设置为-1,则自动使用的是沙尔滤波算法】
Scharr(沙尔) :
卷积核不可改变的一个3x3大小卷积核,可以检测出比较细小的边缘线(不常用,索贝尔可以代替沙尔)
【 索贝尔和沙尔的缺陷是只能检测一个方向的边缘,要么横轴,要么纵轴,所以调用 完后还需要自己把横轴和纵轴检测到的边缘线加起来才是最终结果】
Laplacian(拉普拉斯):
可以把横轴和纵轴的边缘全部检测出来,但是对噪音比较敏感,在内部没有进行降噪操作,使用之前需要自己手工降噪
索贝尔api
Sobel(src, ddepth, dx, dy, ksize = 3,
scale = 1, detal = 0, boderType = BORDER_DEFAULT)
src : 原图片
ddepth :输出图片位深
dx = 1,则检测出y方向边缘
dy = 1,则检测出x方向边缘
ksize :卷积核大小,若=-1,则为沙尔算法
以下代码就是用索贝尔算法例子
import cv2
import numpy as npimg = cv2.imread('d:\\STUDY_OPENCV\\img\\sz.png')
#索贝尔算子y方向边缘
d1 = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=5)#dx为1代表求得是y方向的边缘
#索贝尔算子x方向边缘
d2 = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=5)
#dst = d1+d2 ,与下行代码功能一样
dst = cv2.add(d1,d2)
cv2.imshow('dst', dst)
cv2.imshow('d1',d1)
cv2.imshow('d2',d2)
cv2.imshow('img',img)
cv2.waitKey(0)
沙尔api
Scharr(src, ddepth, dx, dy,
scale = 1, detal = 0, boderType = BORDER_DEFAULT)
拉普拉斯api
Laplacian (src, ddepth, ksize = 1, scale = 1, boderType = BORDER_DEFAULT)
边缘检测小能手:canny
- 使用5x5高斯滤波消除噪声
- 调用索贝尔从四个方向上对图像计算检测(0°/45°/90°/135°)
- 在四个方向上取局部最大值
- 取出所有局部最大值之后进行阈值计算()
Canny(img, minVal, maxVal,…)
img :需要处理的图片
minVal :自己设定的最小阈值
maxVal :设定的最大阈值
【最小阈值和最大阈值中间范围过大时检测到的边缘比较少】
import cv2
import numpy as np
img = cv2.imread('d:\\STUDY_OPENCV\\img\\cdog.jpg')
dst = cv2.Canny(img, 120, 150)
cv2.imshow('img',img)
cv2.imshow('dst', dst)
cv2.waitKey(0)
OpenCV之高通滤波相关推荐
- 高通滤波器 python实现
高通滤波器 高通滤波器(HPF)是检测图像的某个区域,然后根据像素与周围像素的亮度差值来提升像素的亮度. 用于:边缘提取与增强. 注意:通过高通滤波器进行滤波后,再和原图像叠加,可以增强图像中灰度级变 ...
- opencv学习笔记22:傅里叶变换,高通滤波,低通滤波
傅里叶变换原理 任何连续的周期信号,都可以由一组适当的正弦曲线组合而成. 下列左上图由其他三图构成. 左图经过傅里叶变换,由时域图转换到频域图.相互可逆 相位:不是同时开始的一组余弦函数,在叠加时要体 ...
- 【OpenCV 例程200篇】88. 频率域拉普拉斯高通滤波
[OpenCV 例程200篇]88. 频率域拉普拉斯高通滤波 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 4.3 ...
- OpenCV —— 频率域滤波(傅里叶变换,低通和高通滤波,带通和带阻滤波,同态滤波)
频率域滤波 基本概念 傅里叶变换 二维离散的傅里叶变换 快速傅里叶变换 傅里叶幅度谱与相位谱 谱残差显著性检测 卷积与傅里叶变换的 频率域滤波 低通滤波和高通滤波 带通和带阻滤波 同态滤波 基本概念 ...
- opencv 四 Mat的基本操作3(高通滤波、低通滤波、对比度调节)
图像滤波分为高通滤波和低通滤波,高通滤波用于求图形的边缘,低通滤波用于图像去噪.图像模糊化等.这里的频是指变化(相邻像素值的变化),高通滤波是指使变化大也就是图像的边缘)的通过(低通滤波是指使变化小( ...
- c++ opencv数字图像处理:频率域滤波--高通滤波--高斯高通滤波
文章目录 前言 一.高斯高通滤波器(GHPF) 二.代码 前言 数字图像处理c++ opencv(VS2019 opencv4.53)持续更新 一.高斯高通滤波器(GHPF) D 2 ( u , v ...
- python高通滤波_理想高通滤波实现Python opencv示例
理想高通滤波实现 python opencv import numpy as np import cv2 from matplotlib import pyplot as plt plt.rcpara ...
- 【opencv图像处理】--4. 低、高通滤波,卷积和各种算子
"I listen to the radio" 一.低通滤波 1. 卷积 2. 方盒滤波与均值滤波 3. 高斯滤波 4. 中值滤波 5. 双边滤波 二.高通滤波 1. Sobel( ...
- OpenCv图像锐化及各种高通滤波
目录 什么是图像锐化以及为什么要进行图像锐化 图像锐化的方法 1.空域滤波的可使用几种方法 1.1梯度法 1.2拉普拉斯算子法 1.3定向滤波法 2.频域方面的高通滤波 2.1理想高通滤波器 2.2巴 ...
最新文章
- OC系列foundation Kit基础-NSDate
- el-input怎么绑定回车事件
- MySQL Replace INTO的使用
- in the java search_elasticsearch which: no java in (/sbin:/bin:/usr/sbin:/usr/bin)
- P2522 HAOI2011 Problem b [莫比乌斯反演,数论分块]
- (转)淘淘商城系列——Redis持久化方案
- 蓝桥杯 ALGO-81 算法训练 动态数组使用
- MTK:架构和消息机制(必看)
- python里进度条编程_Python实现控制台中的进度条
- innerHTML、outerHTML、innerText、outerText的区别及兼容性问题
- Bootstrap入门!
- 做本地服务业O2O要点有哪些 O2O营销模式未来发展趋势是什么?
- 电子书格式转换方法集锦
- Vue教程(三十九)vue-cli2脚手架安装
- 固态硬盘有哪些协议知识点?
- OSPF的5、7类LSA中的FA、cost计算详解
- 什么是库存周转率周转天数?
- java 判断是否回文
- 360浏览器切换内核数据丢失
- 实现兼容各浏览器的背景渐变,透明度渐变,色彩渐变