zoukankan      html  css  js  c++  java
  • PAT乙级1066-----图像过滤 (15分)(水)

    1066 图像过滤 (15分)

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

    输入格式:

    输入在第一行给出一幅图像的分辨率,即两个正整数 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

    思路:判断输入输入是否位于[min.max]之间选择输出原数还是输出替换的灰度值

    首次通过代码:
     1 #include<stdio.h>
     2 
     3 void output(int a){
     4    if(a<10) printf("00%d",a);
     5    else if(a<100) printf("0%d",a);
     6    else printf("%d",a);
     7 }
     8 int main(){
     9     int M,N;
    10     int max,min;
    11     int grey;
    12     scanf("%d %d %d %d %d",&M,&N,&min,&max,&grey);
    13     for(int i=0;i<M;i++){
    14       for(int j=0;j<N;j++){
    15            int a;
    16            scanf("%d",&a);
    17            if(a>=min&&a<=max) output(grey);
    18            else output(a);
    19            if(j!=N-1) printf(" ");
    20       }
    21       if(i!=M-1) printf("
    ");
    22     }
    23     return 0;
    24 }
    View Code
  • 相关阅读:
    《构建之法》第四章的感悟
    单复利软件单元测试
    实验一 操作系统模仿cmd
    <构建之法>第一二三章感悟
    近期工作量统计
    复利计算3.0
    复利运算
    单利运算1
    复利计算6.0
    汉堡包
  • 原文地址:https://www.cnblogs.com/a982961222/p/12365141.html
Copyright © 2011-2022 走看看