# -*- coding:utf-8 -*-
'''
中值滤波器在椒盐噪声中的不同应用
'''
import numpy as np
# Different applied median filter
class Damf(object):
def binary_matrix(self, A):
'''Set the noise entry to 0.Set regular entry to 1'''
B = np.zeros(np.shape(A))
B[(A == 255) | (A == 0)] = 0
B[(A != 255) & (A != 0)] = 1
return B
def t_symmetric_pad_matrix(self, A, t):
m, n = np.shape(A)
img_pad = np.zeros((m + t, n + t))
img_pad[t:, t:] = A
left_up = np.rot90(np.rot90(A[:t, :t]))
up = np.flip(A[:t, :], 0)
right_up = np.rot90(np.rot90(A[:t, -t:]))
left = np.flip(A[:, 0:t], 1)
right = np.flip(A[:, -t:], 1)
left_down = np.rot90(np.rot90(A[-t:, :t]))
dowm = np.flip(A[-t:, :], 0)
right_down = np.rot90(np.rot90(A[-t:, -t:]))
up_h = np.hstack((left_up, up, right_up)) # h:horizontal
middle_h = np.hstack((left, A, right))
down_h = np.hstack((left_down, dowm, right_down))
img_pad = np.vstack((up_h, middle_h, down_h))
return img_pad
def k_approximate_matrix(self, img_pad, i, j, k, t):
k_approximate_mat = img_pad[(i + t - k):(i + t + k + 1), (j + t - k):(j + t + k + 1)]
return k_approximate_mat
def regular_row_matrix(self, img_k_approximate):
H = img_k_approximate.flatten()
H = np.sort(H)
R = H[(H != 255) & (H != 0)]
return R
def process_image(self, nim):
t1 = 3
img_DAMF = nim.copy()
B = self.binary_matrix(nim)
P_A_3 = self.t_symmetric_pad_matrix(nim, t1)
P_B_3 = self.t_symmetric_pad_matrix(B, t1)
m, n = np.shape(nim)
for i in range(m):
for j in range(n):
if B[i, j] == 0:
B_ij_1 = self.k_approximate_matrix(P_B_3, i, j, 1, t1)
B_ij_2 = self.k_approximate_matrix(P_B_3, i, j, 2, t1)
B_ij_3 = self.k_approximate_matrix(P_B_3, i, j, 3, t1)
if B_ij_1.any() > 0: # 使用3x3板
A_ij_1 = self.k_approximate_matrix(P_A_3, i, j, 1, t1)
R_ij_1 = self.regular_row_matrix(A_ij_1)
mR_ij_1 = np.median(R_ij_1)
img_DAMF[i, j] = mR_ij_1
elif B_ij_2.any() > 0: # 使用5x5模板
A_ij_2 = self.k_approximate_matrix(P_A_3, i, j, 2, t1)
R_ij_2 = self.regular_row_matrix(A_ij_2)
mR_ij_2 = np.median(R_ij_2)
img_DAMF[i, j] = mR_ij_2
elif B_ij_3.any() > 0: # 使用7x7模板
A_ij_3 = self.k_approximate_matrix(P_A_3, i, j, 3, t1)
R_ij_3 = self.regular_row_matrix(A_ij_3)
mR_ij_3 = np.median(R_ij_3)
img_DAMF[i, j] = mR_ij_3
B = self.binary_matrix(img_DAMF)
t2 = 1
P_A_1 = self.t_symmetric_pad_matrix(img_DAMF, t2)
P_B_1 = self.t_symmetric_pad_matrix(B, t2)
for i in range(m):
for j in range(n):
if B[i, j] == 0:
B_ij_1 = self.k_approximate_matrix(P_B_1, i, j, 1, t2)
if B_ij_1.any() > 0:
A_ij_1 = self.k_approximate_matrix(P_A_1, i, j, 1, t2)
R_ij_1 = self.regular_row_matrix(A_ij_1)
mR_ij_1 = np.median(R_ij_1)
img_DAMF[i, j] = mR_ij_1
return img_DAMF
没有合适的资源?快使用搜索试试~ 我知道了~
基于Python实现遗传算法对图像进行去噪(源码+图片).rar
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共7个文件
py:5个
tiff:1个
ehga:1个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
1、资源内容:基于Python实现遗传算法对图像进行去噪(源码+图片).rar 2、适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 3、更多仿真源码和数据集下载列表(自行寻找自己需要的):https://blog.csdn.net/m0_62143653?type=download 4、免责声明:本资源作为“参考资料”而不是“定制需求”不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试,能够自行添加功能修改代码。由于作者大厂工作较忙,不提供答疑服务,如不存在资源缺失问题概不负责,谢谢理解。
资源推荐
资源详情
资源评论
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TIFF.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 7 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- m0_748125482023-11-25资源很受用,资源主总结的很全面,内容与描述一致,解决了我当下的问题。
- 2301_770572092023-11-27资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
![avatar](https://profile-avatar.csdnimg.cn/4f53cad2241c45de9c6c65be36411126_m0_62143653.jpg!1)
Matlab仿真实验室
- 粉丝: 4w+
- 资源: 2475
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 农业大数据平台源码
- 基于python的农业疾病预警系统新版源码+说明
- mockito教程-自整理
- 农业生产管理系统的设计源码+数据库
- 农业水价综合改革平台新版源码+说明
- 可持续性再生能源消纳量(2015-2022年).zip
- 省级-新质生产力数据(2010-2022年).zip
- 省级生活垃圾无害化处理率数据.zip
- 人民币汇率相关历史数据(2006-2022年).zip
- 农产品溯源系统新版源码+说明
- 中介效应模型STATA计算代码(多重中介模型+普通中介效应模型).zip
- 285个地级市出口产品质量及技术复杂度(2011-2021年).zip
- 物联网通信协议解析:关键规范、分类与应用场景
- DeepSeek: 高性能多语言代码生成及优化工具,助力高效编程
- 超声影像分割数据集:超声八大组织语义分割数据集(约900张数据和标签)
- dify redis配置
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)