现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]对lena图像加入椒盐噪声,强度为30%,分别采用均值滤波,中值滤波进行处理。并讨论不同尺度的模板对结果的影响。

大家好,又见面了,我是你们的朋友全栈君。

作业题目:

对lena图像加入椒盐噪声,强度为30%,分别采用均值滤波,中值滤波进行处理。并讨论不同尺度的模板对结果的影响。

作业代码及内容展示和分析:

##lena加入椒盐噪声效果图

1、噪声强度为5%

现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

2、噪声强度为30%

 现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

代码展示:

import cv2 as cv

import random as rd

import matplotlib.pyplot as plt

lena = cv.imread(‘lena.jpeg’,0)

def saltNoise_image(im,var):                   #生成椒盐噪声图函数

    w,h = im.shape

    saltNoiseNum = int(w*h*var)                #噪声总的点数

    for i in range(saltNoiseNum):              #在图像找n个点加入噪声

        x = rd.choice(range(w))

        y = rd.choice(range(h))

        if im[x,y] < 127:

           im[x,y] = 255

        else:

           im[x,y] = 0

    return im

def filterImage(im):                          #滤波函数

    im = cv.cvtColor(im,cv.COLOR_BGR2RGB)

    ksize = [3,5,7]

    im_filter = [[cv.blur(im,(i,i)),           #均值滤波

               cv.medianBlur(im,i),           #中值滤波

               cv.GaussianBlur(im,(i,i),0,0)] #高斯滤波

                for i in ksize]

    plt.figure(‘滤波结果’)                     #创建窗口

    x = 0

    for i in range(3):

        for j in range(3):

           x += 1

           plt.subplot(3,3,x)                 #生成9个子窗口

           plt.imshow(im_filter[j][i]),plt.axis(‘off’) #显示图像

    plt.tight_layout(0,0.1,0)

    plt.show()

new_lena = saltNoise_image(lena,0.3)           #传入图片和噪声比例

filterImage(new_lena)                          #滤波

(1)采用卷积子大小为[3,5,7],噪声强度为5%,采用中值、均值、高斯滤波,其效果图如下:

现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

(2)采用卷积子大小为[3,5,7],噪声强度为30%,采用中值、均值、高斯滤波,其效果图如下:现代数字图像处理作业———对lena图像进行简单处理[通俗易懂]

分析:

    当对lena图像加入脉冲噪声时,不管强度是5%还是30%,所采用的中值和高斯滤波的效果都不理想,而采用中值滤波的效果却有明显的改善;且当卷积由3→5→7增大时,去除噪声干扰的效果越好,但是相对而说图像变得更加的模糊,丢失了更多的细节。由于对lena图像加入脉冲噪声导致原图的结构遭到了破坏,高斯和中值滤波都是线性滤波器,会带入很多的噪声进行计算,从而使得效果变得越加的不理想,而中值滤波是非线性滤波器,对噪声的依赖较低,所以它的滤波效果要明显的优于另外两种的滤波效果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150962.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月19日 上午7:46
下一篇 2022年6月19日 上午8:00


相关推荐

  • java中foreach循环

    java中foreach循环foreach 语句是 java5 的新特征之一 在遍历数组 集合方面 foreach 为开发人员提供了极大的方便 foreach 语句是 for 语句的特殊简化版本 但是 foreach 语句并不能完全取代 for 语句 然而 任何的 foreach 语句都可以改写为 for 语句版本 foreach 并不是一个关键字 习惯上将这种特殊的 for 语句格式称之为 foreach 语句 从英文字面意思理解 foreach 也

    2026年3月19日
    2
  • STL 源代码剖析 算法 stl_algo.h — merge sort「建议收藏」

    STL 源代码剖析 算法 stl_algo.h — merge sort

    2022年1月28日
    47
  • SQL聚合函数「建议收藏」

    SQL聚合函数「建议收藏」一、知识点聚合函数对组执行计算并返回每个组唯一的值。GROUPBY子句通常与聚合函数一起用于统计数据。GROUPBY子句将行排列成组,聚合函数返回每个组的统计量。常用的聚合函数有:COUNT(),SUM(),AVG(),MIN(),MAX()。COUNT(),其作用主要是返回每个组的行数,也会返回有NULL值的列,可用于数字和字符列。SUM(),主要用于返回表达式中所有的总和,忽略NULL值,仅用于数字列。AVG(),返回表达式所有的平均值,仅用于数字列并且自动忽略NULL值。MIN(),返

    2022年6月21日
    24
  • Claude Code 开发使用技巧

    Claude Code 开发使用技巧

    2026年3月15日
    2
  • 用于安装python第三方库的工具是_Python第三方库安装

    用于安装python第三方库的工具是_Python第三方库安装Python 有一个全球社区 在这里 我们可以搜索 Python 第三方库的任何话题 PyPI 的全称是 Python 包指数指 Python 包的指数 它是由 PSF Python 软件基金会 和显示全球 Python 计算生态系统 我们需要学会使用 PyPI 的主要网站 搜索和发现我们使用第三方 Python 库和关心 例如 如果您正在开发一个 blockchain related 程序 您需要使用 Python 的计算生态三个步

    2025年7月3日
    4
  • 自动化测试之流量回放技术「建议收藏」

    自动化测试之流量回放技术「建议收藏」流量回放近几年一直是大家热衷讨论的话题,具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验,推荐一看。本篇背景是另外一同事朋友,最近在利用流量回放技术应用在服务端接口自动化测试方面,还在各部门全力推进阶段,未来效果暂且不好说,但这部分内容确实各大公司,测试技术大会等等的热词,由于我没参与但我很感兴趣,所以邀请普及一篇,后边应该还会带来实战篇,本公众号坚持原创和干货分享,欢迎长期关注,一同成长,如果你有好的实战分享也欢迎投稿。前言在日常的测试工作中我们或多或少总会遇到下列问题:1)服..

    2022年7月15日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号