前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PTA 1066 图像过滤 (15 分)

PTA 1066 图像过滤 (15 分)

原创
作者头像
freesan44
修改2021-08-21 21:33:33
3710
修改2021-08-21 21:33:33
举报
文章被收录于专栏:freesan44

题目

图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。

输入格式:

输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每行给出 N 个像素点的灰度值,其间以空格分隔。所有灰度值都在 0, 255 区间内。

输出格式:

输出按要求过滤后的图像。即输出 M 行,每行 N 个像素灰度值,每个灰度值占 3 位(例如黑色要显示为 000),其间以一个空格分隔。行首尾不得有多余空格。

代码语言:txt
复制
输入样例:
3 5 100 150 0
3 189 254 101 119
150 233 151 99 100
88 123 149 0 255
结尾无空行
输出样例:
003 189 254 000 000
000 233 151 099 000
088 000 000 000 255
结尾无空行

解题思路

代码语言:txt
复制
M,N,A,B,H = map(int,input().split())
# M,N,A,B,H = map(int, "3 5 100 150 0".split(" "))
zongResList = []
for i in range(M):
    for j in input().split():
        if A <= int(j) <= B:
            zongResList.append("%03d" % H)
        else:
            zongResList.append("%03d" % j)
    #以下方法最后案例不通过
    # # 输入转换成int的List
    # inputList = list(map(int, input().split()))
    # # inputList = list(map(int, "3 189 254 101 119".split()))
    # resList = []
    # for j in inputList:
    #     res = None
    #     if A <= int(j) <= B:
    #         # 进行补0转义
    #         # res = "{:0>3d}".format(int(H))
    #         res = "%03d" % H
    #     else:
    #         # 进行补0转义
    #         # res = "{:0>3d}".format(int(j))
    #         res = "%03d" % j
    #     # resList.append(res)
    #     zongResList.append(res)
    # # zongResList.append(resList)
    # # print(" ".join(resList))
for i in range(0, len(zongResList),N):
    print(' '.join(zongResList[i:i+N]))

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解题思路
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档