首页 > 编程语言 >中值滤波python代码

中值滤波python代码

时间:2024-10-27 21:49:12浏览次数:7  
标签:ci img python 代码 滤波 range pad out

文章目录

一、中值滤波

中值滤波使用了局部邻域(窗口)里的中值来代替上述局部平均法中的局部平均值。即将以该点为中心的某个窗口框住的各像素的中间值作为处理后图象中该点像素的值。能有效处理椒盐噪声。

二、代码实现

下图代码实现了中值滤波对图像处理,其中k为滤波核大小。

def Median_filter(img, k):
    h, w, c = img.shape

    pad = k // 2  # 舍弃小数
    out = np.zeros((h + 2 * pad, w + 2 * pad, c))
    out[pad:pad + h, pad:pad + w] = img.copy()

    tmp = out.copy()
    for y in range(h):
        for x in range(w):
            for ci in range(c):
                out[pad + y, pad + x, ci] = np.median(tmp[y:y + k, x:x + k, ci])

    out = out[pad:pad + h, pad:pad + w]

    return out


img = cv2.imread("filename")
out = gaussian_filter(img, 5, 3.5)
cv2.imwrite("out_filename", out)

标签:ci,img,python,代码,滤波,range,pad,out
From: https://blog.csdn.net/smile_ded/article/details/143275326

相关文章

  • 代码大全
    在学习编程的道路上,《代码大全(第二版)》如同一座灯塔,为我照亮了前行的方向。阅读这本书的过程,就像是在与一位经验丰富的导师对话,它让我对软件开发有了更为全面和深入的理解。书中强调了软件构建在软件开发中的核心地位。构建活动涵盖编码、调试、详细设计、规划构建、单元测试、集......
  • 100种算法【Python版】第14篇——Pollard‘s Rho 质因数分解算法
    本文目录1基本原理2算法步骤3数学示例4python代码1基本原理Pollard’sRho算法是由约翰·波拉德(JohnPollard)于1975年提出的一种用于整数因数分解的概率算法。它以高效性和实现简洁著称。核心原理伪随机序列生成:利用一个简单的迭代函数生成一个伪随机......
  • python系列【亲测有效-只到了图形化连接桌面】:Python 调用windows系统远程桌面应用
    Python调用windows系统远程桌面应用Python调用windows系统远程桌面应用使用pyautogui模块实现远程桌面应用的调用总结参考链接Python调用windows系统远程桌面应用远程桌面应用是一种方便用户在远程设备上访问和控制本地桌面的技术,对于远程办公、远程......
  • 什么是无代码开发平台
    无代码开发平台是一种提供了可视化操作和拖拽式组件的软件开发平台,旨在使应用程序的开发变得更加简单和快速,无需编写传统的代码。这类平台的目标是让非技术背景的用户也能够通过简单的操作和配置来创建应用程序,降低了软件开发的门槛,加速了应用开发的速度。一、无代码开发平台......
  • 机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
    1.基础算法常见面试篇1.1过拟合和欠拟合常见面试篇一、过拟合和欠拟合是什么?二、过拟合/高方差(overfiting/highvariance)篇2.1过拟合是什么及检验方法?2.2导致过拟合的原因是什么?2.3过拟合的解决方法是什么?三、欠拟合/高偏差(underfiting/highbias)篇3.......
  • 软硬件开发面试问题大汇总篇——针对非常规八股问题的提问与应答(代码规范与生态管理)
    软硬件开发,对于编码规范、生态管理等等综合问题的考察尤为重要。阐述下环形缓冲区的用途 环形缓冲区(RingBuffer)是一种固定大小的数据结构,常用于实现数据的流式传输或临时存储。在环形缓冲区中,当到达缓冲区的末尾时,它会回绕到开始部分,从而形成一个“环”。用途总结数......
  • 【MySQL】实战篇—应用开发:使用MySQL与编程语言(如Python、Java、PHP等)进行交互
    MySQL是存储和管理数据的强大工具,而编程语言(如Python、Java、PHP等)则用于开发应用程序和处理业务逻辑。将这两者结合起来,可以实现数据的存储、查询、更新和管理,进而构建功能强大的应用程序。2.重要性和实际应用场景在软件开发中,数据库与编程语言的交互至关重要,以下是一些常......
  • <collection> 和 <association>的详细用法(附详细代码解析)
    MyBatis中的<association>和<collection>标签在MyBatis中,<association>和<collection>标签用于配置复杂查询的结果集关联映射,主要用于处理实体类之间的嵌套关系。二者的区别在于:<association>标签用于一对一的关系映射,比如实体类A中包含一个实体类B的对象......
  • 代码随想录算法训练营day27| 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃
    学习资料:https://programmercarl.com/0122.买卖股票的最佳时机II.html#算法公开课贪心PART2学习记录:122.买卖股票的最佳时间2(求最大利润,贪心:把所有正数相加;后一天与当天的股票价格差值,若为正就加入利润,若为负,则不加)点击查看代码classSolution:defmaxProfit(self,pr......
  • Python酷库之旅-第三方库Pandas(161)
    目录一、用法精讲736、pandas.Period.freq属性736-1、语法736-2、参数736-3、功能736-4、返回值736-5、说明736-6、用法736-6-1、数据准备736-6-2、代码示例736-6-3、结果输出737、pandas.Period.freqstr属性737-1、语法737-2、参数737-3、功能737-4、返回值7......