PAT B -1066 filtro de imagen (15 minutos)

Haga clic en el enlace completo Resumen solución PAT B -AC

Título:
Filtro de imágenes es poco importante para el fondo teñido de color de la imagen de píxeles, por lo que la parte importante que se resalte. Ahora bien, dada una imagen monocromática, el valor de gris se encuentra en la reivindicación que todos los píxeles dentro de una gama de color designado se reemplazan con un color especificado.

Formato de entrada:
una resolución de imagen dado en la primera fila de entrada, es decir, dos números enteros positivos M y N (0 <M, N≤500) , el otro es para ser filtrada valor de gris puntos finales del intervalo A y B (0 ≤A <B≤255), y sustituyendo el valor de tono especificado. Posteriormente M filas, cada fila de los valores de gradación N dados pixel, separadas por un espacio entre ellos. Todos los valores de la gradación se encuentran dentro del intervalo [0, 255].

: Formato de salida de
filtrado requiere la salida de la imagen. Es decir, las líneas de salida M, cada uno de los valores de escala de grises de píxeles N, cada uno representando tres valores de gradación (por ejemplo 000 que se muestran en negro), separados por un espacio entre ellos. Línea de principio a fin puede no tener el espacio extra.

de entrada de la muestra:

3 5 100 150 0
3 189 254 101 119
150 233 151 99 100
88 123 149 0 255

Resultado de muestra:

003 189 254 000 000
000 233 151 099 000
088 000 000 000 255

Mi código:

#include<iostream>
#include<cstdio>
#include<vector>
#include<string>
#include<set>
#include<map>
#include<algorithm>
#include<cmath>
#include<ctime>
#include<cstring>
#include<sstream>
using namespace std;
//有的时候题目是一起做的,所以会有不需要的头文件

int main()
{
    int M,N,A,B,C;
    cin>>M>>N>>A>>B>>C;
    int img[M][N]={0};
    for(int i=0;i<M;i++)
    {
        for(int j=0;j<N;j++)
        {
            int t;
            cin>>t;
            if(t>=A&&t<=B)t=C;
            img[i][j]=t;
        }
    }
    for(int i=0;i<M;i++)
    {
        for(int j=0;j<N;j++)
        {
            printf("%03d",img[i][j]);
            if(j<N-1) cout<<" ";
        }
        cout<<endl;
    }

    return 0;
}

Publicado 82 artículos originales · ganado elogios 1 · vistas 1669

Supongo que te gusta

Origin blog.csdn.net/qq_34451909/article/details/104914753
Recomendado
Clasificación