python-图像模糊处理(赛氪OJ)

[题目描述]
给定 n 行 m 列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:
1. 四周最外侧的像素点灰度值不变。
2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(四舍五入)
输入:
输入共 n + 1 行,第一行包含两个整数 n,m (1 <= n,m <= 100),表示图像包含像素点的行数和列数。
接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度,相邻两个整数之间用一个空格隔开。
输出:
输出共 n 行,每行 m 个整数,表示模糊处理后的图像,相邻整数用一个空格分隔开。
样例输入1
4 5
100 0 100 0 50
50 100 200 0 0
50 50 100 100 200
100 100 50 50 100

样例输出1
100 0 100 0 50
50 80 100 60 0
50 80 100 90 200
100 100 50 50 100

提示:
保证输入的每个像素点灰度的大小均在 0 ~ 255 之间。
来源/分类(难度系数:一星)


完整代码展示:
a,b=map(int,input().split())
c=[]
for i in range(a):
    d=list(map(int,input().split()))
    c.append(d)
if len(c)<3:
    e=0
    while e<len(c):
        sum=""
        for j in range(0,len(c[e])):
            sum+="{} ".format(c[e][j])
        print(sum)
        e+=1
else:
    e=0
    while e<len(c):
        sum=""
        for k in range(0,len(c[e])):
            if e>=1 and k>=1 and e<=len(c)-2 and k<=len(c[e])-2:
                sum+="{} ".format(round((c[e][k]+c[e-1][k]+c[e][k-1]+c[e+1][k]+c[e][k+1])/5))
            else:
                sum+="{} ".format(c[e][k])
        print(sum)
        e+=1


代码解释:
a,b=map(int,input().split())
 c=[]
 for i in range(a):
       d=list(map(int,input().split()))
       c.append(d)                 
              ”,,让用户输入矩阵的行数a和列数b。建立空列表c,让用户依次输入矩阵的每一行,并将其添加进列表c,以此循环a次。
if len(c)<3:
      e=0
      while e<len(c):
             sum=""
             for j in range(0,len(c[e])):
                   sum+="{} ".format(c[e][j])
             print(sum)
             e+=1                                        
 ”,当行数小于3时,不对矩阵中任何元素进行处理,打印原矩阵。
else:
       e=0
       while e<len(c):
               sum=""
               for k in range(0,len(c[e])):
                     if e>=1 and k>=1 and e<=len(c)-2 and k<=len(c[e])-2:
                          sum+="{} ".format(round((c[e][k]+c[e-1][k]+c[e][k-1]+c[e+1][k]+c[e][k+1])/5))
                    else:
                           sum+="{} ".format(c[e][k])
              print(sum)
              e+=1           
                                                  ”,当矩阵行数大于等于3时,对矩阵的非边缘元素进行题目所给的模糊处理(将其值替换为它及它上下左右的元素的和的平均值)。打印处理过后的矩阵。(解题核心:根据对矩阵的理解可判断行数列数大于等于2,且行数小于等于a-1,列数小于等于b-1的元素均为非边缘元素;非边缘元素周围的元素即该元素行,列数加减1的元素。)


运行效果展示:

d3fb93fe4a594a3fa39aff798a1fcb0a.jpg

a57e740956304f27aeb52fb2fcf7f716.jpg 

           (声明:以上内容均为原创) 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/38648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】inline 关键字

在C语言中&#xff0c;inline关键字用于建议编译器对函数进行内联展开&#xff0c;而不是像普通函数一样调用。内联函数的目的是减少函数调用的开销&#xff0c;特别是对于简单的、频繁调用的函数。 内联函数的定义和使用 定义内联函数 要定义一个内联函数&#xff0c;需要在…

《代号鸢》国服,能否推动国乙市场重新洗牌?

灵犀互娱《如鸢》顺利拿到版号&#xff0c;再次搅浑了国乙市场这潭水。 六月份游戏版号审批公布后&#xff0c;灵犀互娱运营的《如鸢》引起了关注&#xff0c;这个与《代号鸢》原名《三国志如鸢》雷同的名字&#xff0c;竟然让《代号鸢》玩家大面积破防了。 其实目前关于《如…

for循环中list触发fast-fail或不触发的原理和方法

Iterable和Iterator Iterator接口位于的位置是java.util.Iterator&#xff0c;它主要有两个抽象方法供子类实现。hasNext()用来判断还有没有数据可供访问&#xff0c;next()用来访问下一个数据。 集合Collection不是直接去实现Iterator接口&#xff0c;而是去实现Iterable接口…

【Python】字典练习

python期考练习 目录 1. 首都名​编辑 2. 摩斯电码 3. 登录 4. 学生的姓名和年龄​编辑 5. 电商 6. 学生基本信息 7. 字母数 1. 首都名 初始字典 (可复制) : d{"China":"Beijing","America":"Washington","Norway":…

HCM智能人力资源系统存在命令执行漏洞Getshell

0x01 阅读须知 技术文章仅供参考&#xff0c;此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成…

防爆对讲终端是什么?在哪些行业中应用广泛?

防爆对讲终端是一种特殊设计的通信设备&#xff0c;它具备防爆性能和可靠的通信功能&#xff0c;确保在存在爆炸性气体或粉尘的危险环境中使用时不会引发爆炸或火灾等危险情况。这种设备通过特殊的设计和防护措施&#xff0c;如采用防爆材料、防静电、绝缘、阻燃材料等&#xf…

ABAQUS软件天津正版代理商亿达四方:创新技术,驱动产业升级

在环渤海经济圈的核心地带——天津&#xff0c;随着智能制造与高新技术产业的蓬勃发展&#xff0c;对高端仿真软件的需求日益增长。亿达四方&#xff0c;作为ABAQUS在天津的官方正版代理商&#xff0c;凭借其深厚的行业经验和卓越的服务体系&#xff0c;正为这片热土上的科研机…

2024年度潍坊市职业技能大赛——网络搭建(网络与信息安全管理员)职业技能竞赛样题

2024年度潍坊市职业技能大赛 ——网络搭建&#xff08;网络与信息安全管理员&#xff09;职业技能竞赛样题 网络搭建职业技能竞赛组委会 2024年6月 一、项目简介 &#xff08;一&#xff09;竞赛须知 1.技能操作比赛时间150分钟&#xff0c;你需要合理分配时间。 2.如果没…

Hive常用的内置函数

文章目录 聚合类1.指定列值的数目2.指定列值求和3.最大值4.最小值5.平均值6.中位数函数7.分位数函数 数值类1.取整函数Round(a)2.指定精度取整ROUND(double a,int b)3.向上取整FLOOR()4.向下取整CEIL()5.随机数 rand()6.绝对值函数 日期类获取当前日期获取当前时间戳日期前后日…

C++:枚举类的使用案例及场景

一、使用案例 在C中&#xff0c;枚举类&#xff08;也称为枚举类型或enum class&#xff09;是C11及以后版本中引入的一种更加强大的枚举类型。与传统的枚举&#xff08;enum&#xff09;相比&#xff0c;枚举类提供了更好的类型安全性和作用域控制。下面是一个使用枚举类的案…

(linux系统服务)Linux下yum源配置实战

一、Linux下软件包的管理 1、软件安装方式 ① RPM包管理&#xff08;需要单独解决依赖问题&#xff09; ② YUM包管理&#xff08;需要有网络及YUM仓库的支持&#xff0c;会自动从互联网下载软件&#xff0c;自动解决依赖&#xff09; ③ 源码安装&#xff08;安装过程比较…

总体设计在软件设计中的意义

总体设计&#xff08;High-Level Design, HLD&#xff09;是软件开发生命周期中的一个关键阶段&#xff0c;旨在从宏观层面定义系统的结构和主要组件。总体设计的目标是为详细设计和实现提供一个清晰的框架和蓝图。 总体设计的意义 明确系统架构&#xff1a;总体设计帮助开发…

基于Java的外卖点餐系统设计与实现

作者介绍&#xff1a;计算机专业研究生&#xff0c;现企业打工人&#xff0c;从事Java全栈开发 主要内容&#xff1a;技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流&#xff08;SCI论文两篇&#xff09; 上点关注下点赞 生活越过…

深⼊理解 JVM 底层原理、垃圾回收机制,能通过mat、jstat进行JVM参数调优

深入理解JVM&#xff08;Java虚拟机&#xff09;底层原理和垃圾回收机制是Java开发者和系统管理员的重要技能&#xff0c;尤其是在性能调优方面。下面是一些关键点&#xff0c;帮助你更好地理解这些概念&#xff1a; ### JVM 底层原理 1. **类加载机制**&#xff1a;JVM如何加…

java+mysql教师管理系统

完整源码地址 教师信息管理系统使用命令行交互的方式及数据库连接实现教师信息管理系统&#xff0c;该系统旨在实现教师信息的管理&#xff0c;并根据需要进行教师信息展示。该软件的功能有如下功能 (1)基本信息管理(教师号、姓名、性别、出生年月、职称、学历、学位、教师类型…

25西安电子科技大学研究生政策(最新)

25西安电子科技大学研究生政策&#xff08;最新&#xff09; 01全国研究生报名情况 全国研究生报名人数438万&#xff0c;首次下降超36万人。 02西电研究生全日制/非全日制报名情况 西电硕士研究生报考录取情况&#xff08;包含全日制、非全日制&#xff09;&#xff0c;2024年…

python-数据容器对比总结

基于各类数据容器的特点&#xff0c;它们的应用场景如下&#xff1a; 数据容器的通用操作 - 遍历 数据容器的通用统计功能 容器的通用转换功能 容器通用排序功能 容器通用功能总览

C-特性和新特性

C特性和新特性 C11 C11是C编程语言的一个重要标准版本&#xff0c;是C98标准发布后13年来的第一次重大修正&#xff0c;它引入了许多新特性和改进&#xff0c;极大地增强了C语言的表达能力和开发效率。 C11是C编程语言的一个重要标准版本&#xff0c;由国际标准化组织(ISO)和…

如何在Java中实现自定义数据结构:从头开始

如何在Java中实现自定义数据结构&#xff1a;从头开始 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Java中实现自定义数据结构&#xff…

一文彻底搞懂Transformer - Input(输入)

一、输入嵌入&#xff08;Input Embedding&#xff09; 词嵌入&#xff08;Word Embedding&#xff09;&#xff1a;词嵌入是最基本的嵌入形式&#xff0c;它将词汇表中的每个单词映射到一个固定大小的向量上。这个向量通常是通过训练得到的&#xff0c;能够捕捉单词之间的语义…