• PAT 1066 图像过滤


    https://pintia.cn/problem-sets/994805260223102976/problems/994805266514558976

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

    输入格式:

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

    输出格式:

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

    输入样例:

    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

    代码:
    #include <bits/stdc++.h>
    
    using namespace std;
    
    int a[555][555];
    
    int main()
    {
        int M,N,A,B,P;
        scanf("%d%d%d%d%d",&M,&N,&A,&B,&P);
        for(int i=1;i<=M;i++)
        {
            for(int j=1;j<=N;j++)
                scanf("%d",&a[i][j]);
        }
        for(int i=1;i<=M;i++)
        {
            for(int j=1;j<=N;j++)
            {
                if(a[i][j]>=A&&a[i][j]<=B)
                    a[i][j]=P;
                else
                    a[i][j]=a[i][j];
            }
        }
        for(int i=1;i<=M;i++)
        {
            for(int j=1;j<=N;j++)
            {
                if(j%N!=0)
                   printf("%03d ",a[i][j]);
                else
                    printf("%03d
    ",a[i][j]);
            }
        }
        return 0;
    }
    

      

  • 相关阅读:
    java保留字
    12个不可不知的Sublime Text应用技巧和诀窍
    人生准则
    基于Android 的蓝牙A2DP 功能的实现
    蓝牙协议栈详解
    我的2015计划
    今日学习
    滤波器介绍
    STLINK V2安装使用详解
    javascript闭包
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/9278556.html
Copyright © 2020-2023  润新知