一. 边缘检测

边缘检测通常作用于灰度图像上。边缘检测用于检测图像中的线。

边缘检测结果 ↑


二. 最大 - 最小滤波器(Max - Min)

3*3 Max-Min Filter 算法原理 ↑

我们知道,图像的细节属于低频信息,图像的边缘属于高频信息。我们使用一定大小的 Max-Min 滤波器作用于图像,当滤波器作用于图像细节时,输出结果往往趋向于0(黑色);而滤波器作用于图像边缘时,Max-Min 输出结果往往趋向于255(白色)。所以 最大-最小滤波器 能有效地用于检测图像的边缘和轮廓。


三. python实现 最大-最小 滤波器

用3*3的 Max-Min 滤波器对图像进行边缘检测

import cv2import numpy as np# BGR to 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# max-min filterdef max_min_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] = gray.copy().astype(np.float)tmp = out.copy()# filteringfor y in range(H):for x in range(W):# core codeout[pad + y, pad + x] = np.max(tmp[y: y + K_size, x: x + K_size]) - \np.min(tmp[y: y + K_size, x: x + K_size])out = out[pad: pad + H, pad: pad + W].astype(np.uint8)return out# Read imageimg = cv2.imread("../paojie.jpg").astype(np.float)# get grayscalegray = BGR2GRAY(img)# Max-Min filteringout = max_min_filter(gray, K_size=3)# Save resultcv2.imwrite("out.jpg", out)cv2.imshow("result", out)cv2.waitKey(0)cv2.destroyAllWindows()

四. 实验结果:

边缘检测结果 ↑

原图 ↑


五. 参考内容:

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

https://www.jianshu.com/p/fea3b4d741ab

最大-最小 滤波器实现 及用于边缘检测相关推荐

  1. php++网页最右下角,js实现右下角可关闭最小化div(可用于展示推荐内容)

    本实例使用Javascript实现右下角可关闭最小化div,可以用于展示推荐内容,效果预览网址:http://keleyi.com/keleyi/phtml/xuanfudiv/3.htm 效果图片: ...

  2. 基于STM32F4的智能门锁超详细解析(矩阵键盘、OLED、舵机、HC-05蓝牙、F407ZG最小系统)可用于毕业设计

    前言:   对于刚学习STM32单片机的小伙伴,学习了理论知识和部分可驱动的模块,但是综合项目还没有触碰过多少.所以本文已最简单的模块进行简单的知识梳理和疑问解答.本文有参考其他博主内容,会在使用这些 ...

  3. gabor滤波器 opencv 实现

    转载请注明:http://www.cppblog.com/polly-yang/ 一.房屋检测小结 一开始,直接用LSD(Line Segment Detector)检测VHR(Very High R ...

  4. gabor小波滤波器的在纹理提取、图像匹配上的作用

    1.作用:Gabor小波可以方便的提取图像在各个尺度和方向上的纹理信息,同时在一定程度上降低了图像中光照变化和噪声的影响. 其对光照不敏感的例子: 注意:其对图像的旋转也具有一定的适应性.其出现特征提 ...

  5. Gabor滤波小结整理

    Gabor滤波小结整理 from:http://blog.sina.com.cn/s/blog_6f611c3001018jcx.html 看到两文章摘抄之后整理得到: 一.Gabor 滤波器简介(部 ...

  6. matlab学习:图像频域分析之Gabor滤波

    很多同学需要源文档,所以添加了下载链接,方便大家共同学习进步~ 本文下载链接:http://files.cnblogs.com/yingying0907/Gabor%E7%AC%94%E8%AE%B0 ...

  7. gabor 变换matlab,Gabor变换到底是什么鬼?

    欲讲gabor,必须先看下傅里叶变换有什么缺点! 1.傅里叶变换 1) 简介 数字图像处理的方法主要分成两大部分:空域分析法和频域分析法.空域分析法就是对图像矩阵进行处理:频域分析法是通过图像变换将图 ...

  8. Mobile Net 系列【V1—V3】

    1. MobileNet V1 1.1 Abstract 我们提出了一类用于移动和嵌入式视觉应用程序的高效模--MobileNet,此模型使用深度可分离卷积来构建轻量级深度神经网络.我们还介绍了两个超 ...

  9. 针对遥感目标检测(小目标、旋转框、密集目标)的论文整理

    文献整理 文章目录 文献整理 A Multi-Feature Fusion-Based Change Detection Method for Remote Sensing Images 内容摘要 A ...

最新文章

  1. 几分钟让小孩的人物涂鸦「动起来」,Meta AI创建了一个奇妙的火柴人世界
  2. ssm项目集成ftp_SSM开发框架实例(struts+spring+springmvc)
  3. 包(package)
  4. 清空sqlserver当前日志信息!
  5. 【HDU1203 HDU2955 01背包中的简单概率问题处理】
  6. 虚拟机屏幕界面自适应调整
  7. PHP学习笔记(一):理解匿名函数与Closure
  8. linux中负载值为多少正常_Linux系统中load average平均负载
  9. HTML期末作业-美食点餐网页
  10. oracle添加已有的实例,Oracle数据库怎么添加新的实例?,oracle实例
  11. TokenInsight:反映区块链行业整体表现的 TI 指数较昨日同期下跌1.03%
  12. 通过Modbus转EtherNetIP网关连接AB PLC的配置案例
  13. 【Windows】中DOMAIN域
  14. 数据库sql课后总结
  15. 怎样把CAD图纸的背景颜色修改成白色?
  16. C语言七巧板游戏制作,绘本里的七巧板游戏
  17. Kinect深度图与摄像头RGB的标定与配准(文末总结不容错过)
  18. 虚拟机ipv4和6都没访问权限_ipv4和ipv6无网络访问权限 win10
  19. 网吧计算机无法远程,win7网络711无法加载远程访问解决方法 | 专业网吧维护
  20. Unity中暂停、继续播放、杀死、正放、倒放Dotween动画

热门文章

  1. 一张图学会python应用到excel-Python应用之------Excel操作
  2. python学习网站-python学习网站整理
  3. 一种本地和云端相结合的语音识别系统及方法与流程
  4. CSS-解决inline-block空隙的最好方法
  5. 【BootStrap笔记】BootStrap+css写旅游网页面
  6. 【王道计组笔记】总线(2):性能指标分析
  7. Helm 3 完整教程(二十三):使用 Files 方法在模板中读取文件内容
  8. 使用 Filebeat 对多行日志进行处理(multiline)
  9. checkbox大小缩放
  10. 【NOIP2016】【Luogu2010】回文日期(枚举,可以计算出部分值)