一. 差分滤波器

差分滤波器对于图像亮度急剧变化的边缘有提取效果,可以获得邻近像素的差值。

二. 差分滤波器形式

竖直差分滤波器 ↑

水平差分滤波器 ↑

对角线差分滤波器 ↑


三. python实现差分滤波器

实验:实现上述三个差分滤波器,并作用于图像,查看图像各个方向上信息提取效果

import cv2import numpy as np# Gray scaledef BGR2GRAY(img):b = img[:, :, 0].copy()g = img[:, :, 1].copy()r = img[:, :, 2].copy()# Gray scaleout = 0.2126 * r + 0.7152 * g + 0.0722 * bout = out.astype(np.uint8)return out# different filterdef different_filter(img, K_size=3):H, W = img.shape# Zero paddingpad = K_size // 2out = np.zeros((H + pad * 2, W + pad * 2), dtype=np.float)out[pad: pad + H, pad: pad + W] = img.copy().astype(np.float)tmp = out.copy()out_v = out.copy()out_h = out.copy()out_d = out.copy()# vertical kernelKv = [[0., -1., 0.],[0., 1., 0.],[0., 0., 0.]]# horizontal kernelKh = [[0., 0., 0.],[-1., 1., 0.], [0., 0., 0.]]# diagonal kernelKd = [[-1.,0.,0.],[0.,1.,0.],[0.,0.,0.]]# filteringfor y in range(H):for x in range(W):out_v[pad + y, pad + x] = np.sum(Kv * (tmp[y: y + K_size, x: x + K_size]))out_h[pad + y, pad + x] = np.sum(Kh * (tmp[y: y + K_size, x: x + K_size]))out_d[pad + y, pad + x] = np.sum(Kd * (tmp[y: y + K_size, x: x + K_size]))out_v = np.clip(out_v, 0, 255)out_h = np.clip(out_h, 0, 255)out_d = np.clip(out_d, 0, 255)out_v = out_v[pad: pad + H, pad: pad + W].astype(np.uint8)out_h = out_h[pad: pad + H, pad: pad + W].astype(np.uint8)out_d = out_d[pad: pad + H, pad: pad + W].astype(np.uint8)return out_v, out_h, out_d# Read imageimg = cv2.imread("../gezi.jpg").astype(np.float)# grayscalegray = BGR2GRAY(img)# different filteringout_v, out_h,out_d = different_filter(gray, K_size=3)# Save resultcv2.imwrite("out_v.jpg", out_v)cv2.imshow("result_v", out_v)cv2.imwrite("out_h.jpg", out_h)cv2.imshow("result_h", out_h)cv2.imwrite("out_d.jpg", out_d)cv2.imshow("result_d", out_d)cv2.waitKey(0)cv2.destroyAllWindows()

四. 实验结果

原图 ↑

水平差分滤波器作用结果 ↑

竖直差分滤波器作用结果 ↑

对角线(左上>右下)差分滤波器作用结果 ↑

可以看到,实验结果如我们之前判断的那样,水平差分滤波器检测出了图像中的竖直特征;竖直差分滤波器检测出了图像中的水平特征;对角线(左上>右下)差分滤波器检测出了图像的对角线(左下>右上)特征。


五. 参考材料:

https://www.cnblogs.com/wojianxin/p/12503415.html

https://www.jianshu.com/p/87c32d5085f6

差分滤波器的实现及作用于图像提取图像的特征相关推荐

  1. java分割图片_OpenCV3 Java分割图像 提取图像的RGB三原色(Core.split)

    OpenCV中的Mat类型可以理解为一种多维多通道的矩阵,如果一个普通的彩色图像读进来后赋值给一个Mat类型的对象M,那么这个M就是一个二维数组,这个二维数组中的每个元素都是一个含有三个RGB值得数据 ...

  2. 使用差分金字塔提取图像边缘 python实现

    本文提供一种提取图像边缘的快速算法 更多提取图像边缘的方法: 最大-最小滤波器实现图像边缘提取 Prewitt滤波器和Sobel滤波器提取图像边缘 拉普拉斯滤波器提取图像边缘 差分金字塔提取图像边缘算 ...

  3. Prewitt滤波器的实现,对比Prewitt滤波器和Sobel滤波器提取图像边缘的效果

    一. Prewitt滤波器简介 Prewitt是一种常用的检测图像边缘的滤波器,它分为横向和纵向算子,分别用于检测纵向和横向的边缘(注意:横向形式的滤波器检测图像的纵向边缘,纵向形式的滤波器检测图像的 ...

  4. 【转】由滤波器系数绘制尺度函数和小波函数图像的Matlab程序

    原帖地址:http://blog.csdn.net/LiuHB1127/archive/2007/12/02/1912474.aspx function ScaleWaveFig(h) % -- 函数 ...

  5. 由滤波器系数绘制尺度函数和小波函数图像的Matlab程序

    function ScaleWaveFig(h) %   --  函数描述 : 由滤波器系数绘制尺度函数和小波函数图像 %     M : 标准化常数

  6. 4.2 Python图像的图像恢复-组合滤波器

    4.2 Python图像的图像恢复-组合滤波器 文章目录 4.2 Python图像的图像恢复-组合滤波器 1 算法原理 1.1 混合滤波器 1.2 选择性滤波器 2 代码 3 效果 1 算法原理 1. ...

  7. Python先生,你好!(5)——使用高斯滤波器提取图像特征

    Python先生,你好!(5)--使用高斯滤波器提取图像特征 (一)前 言 (二)高斯滤波器的python实现 (三)总 结 (一)前 言 高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图 ...

  8. 提取图像数据的特征,让机器“看见”

    来源:Datawhale 本文约3600字,建议阅读7分钟 本文介绍图像特征提取的两种方法,基于结构形态的特征提取与基于几何分布的特征提取. [ 导语 ] 人眼可以看到图像的视觉信息,包括颜色特征.纹 ...

  9. 深度学习-CNN提取图像特征

    一.卷积层 1.卷积操作 2.特征提取-"X" or "O"? 二.池化(Pooling) 三.Relu 层 四.全连接层(Fully connected la ...

最新文章

  1. angular搭建项目步骤_建立健康的Angular项目应采取的步骤
  2. 第四次产业革命将由四个领域引领:大数据、新材料、新能源和生物科技。
  3. 聊一聊:MyBatis和Spring Data JPA的选择问题
  4. (poj)1064 Cable master 二分+精度
  5. 局域网 两台电脑共享 密码关闭
  6. 高性能缓存服务器Varnish架构配置
  7. vs2013代码模板设置
  8. Git学习系列(七)Bug和Feature分支管理详解
  9. 厉害,96秒100亿,阿里双十一到底做了什么杠过亿级流量??
  10. liunx 的 crontab
  11. 爬虫使用代理socks
  12. DNS的更新和ddns(动态域名解析)
  13. 简聊聊天软件的表设计
  14. 小米官网首页简单实现及分析
  15. android版会说话的汤姆猫游戏源码
  16. ISME:长江流域Comammox Nitrospira的群落、生物地理学和生态驱动者
  17. Windbg调试学习
  18. 易语言怎么注册大漠插件
  19. 智力题:一次测试找出1000瓶酒中的唯一一瓶毒酒
  20. VS“无法查找或打开PDB文件”是怎么回事?如何解决

热门文章

  1. 零基础学python还是c语言-零基础学Python之前需要学c语言吗
  2. 自主品牌语音交互性能测评,荣威RX5反应更快,博越变暖男
  3. 数据堂智能语音数据库,让客服更智能
  4. 单片机语音识别源码与资料(ASR M08-B模块arduino与51驱动)
  5. 使用 CSS 模拟鼠标点击交互
  6. H.264视频质量评价算法(基于偏最小二乘法回归)
  7. live555学习笔记-RTSPClient分析
  8. 计算机人员简历英语,计算机专业英文个人简历范文
  9. escape()、encodeURI()、encodeURIComponent()区别
  10. AcWing进阶算法课Level-4 第六章 搜索 (模拟退火,爬山)