图像过滤

代码如下

#include<iostream>
using namespace std;
int main(){
    int m,n,a,b,t,num;
    cin>>m>>n>>a>>b>>t;
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&num);
            if(a<=num&&num<=b)
            num=t;
            if(j!=0) printf(" ");
            printf("%03d",num);
        }
        printf("\n");
    } 
    return 0;
} 

十6陆. 图像过滤(15)

图像过滤是把图像中不首要的像素都染成背景象,使得主要片段被展现出来。现给定1幅黑白图像,须要你将灰度值位于某钦赐区间内的兼具像素颜色都用1种内定的颜料替换。

输入格式:

输入在率先行提交一幅图像的分辨率,即多个正整数M和N(0 < M, N <=
500),其余是待过滤的灰度值区间端点A和B(0 <= A < B <=
25伍)、以及钦定的交替灰度值。随后M行,每行给出N个像素点的灰度值,其间以空格分隔。全体灰度值都在[0,
255]区间内。

出口格式:

输出按须要过滤后的图像。即出口M行,每行N个像素灰度值,每种灰度值占三位(例如粉粉红白要出示为000),其间以1个空格分隔。行首尾不得有剩余空格。

输入样例:

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 <iostream>
#include <iomanip>
#include <math.h>
#include <stdio.h>
#include <string>

using namespace std;

int main()
{
    int m, n, A, B, replace;
    ///int a[999][999] = {0};
    cin >> m >> n >> A >> B >> replace;
    int flag = 1;
    int temp;
    for (int i = 0; i < m; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cin >> temp;
            if (temp >= A&&temp <= B)
                temp = replace;
            if (j != 0) cout << " ";
            printf("%03d", temp);
        }
        cout << endl;
    }





    system("pause");
    return 0;
}

 

葡萄娱乐场,十66. 图像过滤

图像过滤是把图像中不重大的像素都染成背景象,使得首要片段被显示出来。现给定1幅黑白图像,要求你将灰度值位于某钦赐区间内的有着像素颜色都用一种内定的颜色替换。

入格式:

输入在首先行提交一幅图像的分辨率,即多个正整数M和N(0 < M, N <=
500),其它是待过滤的灰度值区间端点A和B(0 <= A < B <=
25伍)、以及钦命的轮换灰度值。随后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