• B1066 图像过滤 (15分)


    B1066 图像过滤 (15分)

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

    输入格式:

    输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 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
    

    思考

    3 5 100 150 0 /* 3*5的分辨率  [100,150]的替换为0*/
    3 189 254 101 119
    150 233 151 99 100
    88 123 149 0 255
    

    printf("%03d", );
    动态开辟二维数组。

    C++ 动态开辟二维数组的的方法 - Java EE - 博客园 https://www.cnblogs.com/jpaorm/archive/2010/09/27/2509922.html

    写的很好啊。
    想起来,2019届的试题,考的那些int各种int,真是看得人眼花缭乱啊。

    AC代码

    主要是学习了动态开辟二维数组的方法,虽然这题目肯定用不着这样的开辟数组空间。
    还有就是拒绝野指针的写法。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    #include<cstdlib>
    using namespace std;
    int main(void){
    	int m,n,a,b,con,i;
    	scanf("%d %d %d %d %d",&m,&n,&a,&b,&con);
    	//动态开辟数组
    	int row, col;/*row行数,col列数*/
        int **gray_val = NULL; 
        row=m;
        col=n;
        gray_val = new int *[row];/*产生一个指针数组*/
        for (i = 0; i < row; i++)
        {
            gray_val[i] = new int[col];/*每个指针都开辟一个数组*/
        } 
        //输入数组
        for (i = 0; i < row; i++)
        {
            for (int j = 0; j < col; j++)
            {
                scanf("%d",&gray_val[i][j]);
            }
        }
    
        //输出数组
        //替换
    	for (i = 0; i < row; i++)
        {
            for (int j = 0; j < col; j++)
            {
            	if(gray_val[i][j]>=a&&gray_val[i][j]<=b) 
                	gray_val[i][j] = con;
    			printf("%03d",gray_val[i][j]);
    			if(j<col-1)
    				printf(" ");
            }
            printf("
    ");
        } 
        //销毁空间
        for (i = 0; i < row; i++)
        {
            delete []  gray_val[i];
            gray_val[i] = NULL;
        }
        delete []gray_val;
        gray_val = NULL;
    	return 0;
    }
    
  • 相关阅读:
    jsp
    session
    cookie
    异常
    静态导入 可变参数与collectiions集合工具 集合嵌套
    HashMap和LinkedHashMap
    map集合
    匿名对像,,,内部类
    电脑版校网登录助手
    360舵机与180舵机
  • 原文地址:https://www.cnblogs.com/lingr7/p/10294407.html
Copyright © 2020-2023  润新知