码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • opencv 图像平滑


    高通滤波可以找到图像的边缘。低通滤波可以去除噪音,模糊图像。

    自定义滤波器 cv2.filter2D()

    1. import cv2
    2. import numpy as np
    3. from matplotlib import pyplot as plt
    4. img = cv2.imread('img1.png')
    5. img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
    6. kernel = np.ones((5, 5), np.float32) / 25
    7. dst = cv2.filter2D(img, -1, kernel)
    8. plt.subplot(121), plt.imshow(img), plt.title('Original')
    9. plt.xticks([]), plt.yticks([])
    10. plt.subplot(122), plt.imshow(dst), plt.title('Averaging')
    11. plt.xticks([]), plt.yticks([])
    12. plt.show()

     图像模糊(图像平滑)

    使用低通滤波器可以达到图像模糊的目的(就是去除图像中的高频成分(比如:噪音,边界))

    cv2.blur() 

    1. import cv2
    2. from matplotlib import pyplot as plt
    3. img = cv2.imread('img1.png')
    4. blur = cv2.blur(img, (5, 5))
    5. img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
    6. blur=cv2.cvtColor(blur,cv2.COLOR_BGR2RGB)
    7. plt.subplot(121), plt.imshow(img), plt.title('Original')
    8. plt.xticks([]), plt.yticks([])
    9. plt.subplot(122), plt.imshow(blur), plt.title('Blurred')
    10. plt.xticks([]), plt.yticks([])
    11. plt.show()

    高斯模糊 cv2.GaussianBlur()

    高斯核可以有效去除高斯噪音

    1. import cv2
    2. from matplotlib import pyplot as plt
    3. img = cv2.imread('img1.png')
    4. # 0 是指根据窗口大小 (5,5) 来计算高斯函数标准差
    5. blur = cv2.GaussianBlur(img, (5, 5), 0) # 高斯模糊
    6. img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
    7. blur=cv2.cvtColor(blur,cv2.COLOR_BGR2RGB)
    8. plt.subplot(121), plt.imshow(img), plt.title('Original')
    9. plt.xticks([]), plt.yticks([])
    10. plt.subplot(122), plt.imshow(blur), plt.title('Blurred')
    11. plt.xticks([]), plt.yticks([])
    12. plt.show()

     中值模糊 cv2.medianBlur(img,5)

    使用像素的中值替代像素的值。这个可以去除椒盐噪声。

    1. import cv2
    2. from matplotlib import pyplot as plt
    3. img = cv2.imread('img1.png')
    4. blur = cv2.medianBlur(img, 5) # 中值模糊
    5. img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
    6. blur=cv2.cvtColor(blur,cv2.COLOR_BGR2RGB)
    7. plt.subplot(121), plt.imshow(img), plt.title('Original')
    8. plt.xticks([]), plt.yticks([])
    9. plt.subplot(122), plt.imshow(blur), plt.title('Blurred')
    10. plt.xticks([]), plt.yticks([])
    11. plt.show()

     

  • 相关阅读:
    2023/9/11 qt&c++
    [maven] maven 简述及使用 maven 管理单个项目
    IdeaVim插件使用记录
    HTML学生作业网页 传统端午节节日 学生节日网页设计作业源码(HTML+CSS+JS)
    Android修行手册 - LinearLayout线性布局全解析
    静态HTML网页设计作品 DIV布局家乡介绍网页模板代码---(太原 10页带本地存储登录注册 js表单校验)
    c# --- 索引器与运算符重载
    【Python毕业设计源码】django三甲妇幼保健院网站
    MPLAB X IDE 仿真打断点提示已中断的断点?
    《java面试宝典》之事务常见面试题
  • 原文地址:https://blog.csdn.net/qq_40107571/article/details/127984534
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号