开发者社区> 流楚丶格念> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CSP 202104-1 灰度直方图

简介: CSP 202104-1 灰度直方图
+关注继续查看

灰度直方图:


问题描述


一幅长宽分别为n个像素和m个像素的灰度图像可以表示为一个n×m大小的矩阵A。

其中每个元素 Aij(0≤i<n、0≤j<m)是一个[0,L)范围内的整数,表示对应位置像素的灰度值。


具体来说,一个8比特的灰度图像中每个像素的灰度范围是[0,128)。


一副灰度图像的灰度统计直方图(以下简称“直方图”)可以表示为一个长度为L的数组h,其中h[x](0≤x<L)表示该图像中灰度值为 的像素个数。显然,h[0]到h[L-1]的总和应等于图像中的像素总数n×m。


已知一副图像的灰度矩阵A,试计算其灰度直方图h[0],h[1],…,h[L-1]。


输入格式


输入共n+1行。


输入的第一行包含三个用空格分隔的正整数n、m和L,含义如前文所述。


第二到第n+1行输入矩阵A。第i+2(0≤i<n)行包含用空格分隔的m个整数,依次为Ai0,Ai1,…,Ai(m-1)。


输出格式


输出仅一行,包含用空格分隔的L个整数h[0],h[1],…,h[L-1],表示输入图像的灰度直方图。


样例输入


4 4 16
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15


样例输出


1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
• 1


样例输入


7 11 8
0 7 0 0 0 7 0 0 7 7 0
7 0 7 0 7 0 7 0 7 0 7
7 0 0 0 7 0 0 0 7 0 7
7 0 0 0 0 7 0 0 7 7 0
7 0 0 0 0 0 7 0 7 0 0
7 0 7 0 7 0 7 0 7 0 0
0 7 0 0 0 7 0 0 7 0 0


样例输出


48 0 0 0 0 0 0 29
• 1


代码


C++


/* CCF202104-1 灰度直方图 */

#include <bits/stdc++.h>

using namespace std;

const int L = 256;
int cnt[L];

int main()
{
    std::ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    memset(cnt, 0, sizeof cnt);

    int n, m, l;
    cin >> n >> m >> l;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            int x;
            cin >> x;
            cnt[x]++;
        }

    for (int i = 0; i < l; i++)
        cout << cnt[i] << ' ';
    cout << endl;

    return 0;
}


C


#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm> 

using namespace std;

int main()
{
     int n, m, l;
     int count[256];
     memset(count,0,sizeof(count));
     
     scanf("%d%d%d",&n,&m,&l);
     
     for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            int x;
            scanf("%d",&x);
            count[x]++;
        }

     for (int i = 0; i < l; i++)
        printf("%d ",count[i]);
     printf("\n");

    return 0;
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Junit5 + YAML 轻松实现参数化和数据驱动,让 App 自动化测试更高效(一)
Junit5 + YAML 轻松实现参数化和数据驱动,让 App 自动化测试更高效(一)
37 0
Junit5 + YAML 轻松实现参数化和数据驱动,让 App 自动化测试更高效(一)
![](https://ceshiren.com/uploads/default/original/3X/3/b/3b35e29dc291886594b63dc5ddb72370285c2d76.jpeg) 登录:不同的用户名,不同的密码,不同的组合都需要做登录场景的测试,正常的排列组合下可能会产生多个用例 搜索:不同的搜索条件产生不同的搜索结果,搜索也是常见的测试项,单个搜索参数或者多
42 0
IT自动化和人工智能将在2021年走向何方?
随着IT自动化和人工智能技术的进步和发展,IT人员的工作方式发生了重大变化。今年发生的突如其来的新冠疫情,也迫使大多数组织的员工在家远程工作。
24 0
IT自动化和人工智能将在2021年走向何方?
随着IT自动化和人工智能技术的进步和发展,IT人员的工作方式发生了重大变化。今年发生的突如其来的新冠疫情,也迫使大多数组织的员工在家远程工作。
3269 0
Java语言实现简单FTP软件------&gt;FTP软件效果图预览之下载功能(二)
    介绍完FTP协议后,来看看该软件完成后的效果图 客户端的主界面如上图所示,主要是分为以下几个界面: 数据输入界面:用来让用户输入服务器的地址,用户名,密码,端口号等。
980 0
squid配合nginx的gzip压缩的完美解决方案
Squid3.0之前,一直不能完美支持http1.1。所以对gzip内容的支持,始终有很多问题。我也看过很多帖子,号称解决了这个问题。但是其实一直没有把问题说清楚。我今天试着把问题的原因和解决方法彻底说清楚。
891 0
+关注
流楚丶格念
csdn平台优质创作者,51cto TOP博主,360图书馆科技博主,燕山大学目前大三在读,日拱一卒,功不唐捐,加油!!!
1010
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载