• 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
  • 相关阅读:
    java软件设计模式只单例设计模式
    IOS疯狂基础之观察者模式
    IOS之UIColor
    UITableView与UITableViewCell
    UILabel的各种属性和方法
    iOS TextField
    【IPHONE开发-OBJECTC入门学习】对象的归档和解归档
    【IPHONE开发-OBJECTC入门学习】复制对象,深浅复制
    【IPHONE开发-OBJECTC入门学习】文件的操作,读写复制文件
    虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
  • 原文地址:https://www.cnblogs.com/a982961222/p/12365141.html
Copyright © 2020-2023  润新知