首页 > 其他分享 >202104-1 灰度直方图

202104-1 灰度直方图

时间:2023-02-22 19:11:48浏览次数:47  
标签:int range 直方图 灰度 input 202104 输入

问题描述
  一幅长宽分别为 n 个像素和 m 个像素的灰度图像可以表示为一个 n × m 大小的矩阵 A 。
  其中每个元素 Aij(0 ≤ i<n 、0 ≤ j<m)是一个 [0,L) 范围内的整数,表示对应位置像素的灰度值。
  具体来说,一个 8 比特的灰度图像中每个像素的灰度范围是 [0,128)。
  一副灰度图像的灰度统计直方图(以下简称“直方图”)可以表示为一个长度为 L 的数组 h,其中 h[x](0 ≤ x<L)表示该图像中灰度值为 x 的像素个数。显然,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 个整数 ,表示输入图像的灰度直方图。

样例输入
  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

样例输入
  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

评测用例规模与约定
  全部的测试数据满足 0<n,m ≤ 500 且 4 ≤ L ≤ 256。
————————————————

python

直接算

# 输入矩阵大小n,m 和灰度范围L
n,m,L = list(map(int,input().split()))
# 初始化灰度统计列表0...L-1
sums = [0 for i in range(L)]
# 循环n次 输入矩阵A
for i in range(n):
    # 按行输入数据
    rows = list(map(int, input().split()))
    # 遍历每行灰度元素
    for r in rows:
        # 灰度值对应位置统计数字自增
        sums[r] += 1
# 输出
for i in range(L):
    print(sums[i], end=' ')

二维列表变一维 用count

# 输入矩阵大小n,m 和灰度范围L
n,m,l = list(map(int,input().split()))
num=[ [ i for i in map(int,input().split())] for j in range(n) ]
nums=[i for j in num for i in j]
#或nums=sum(num,[])

#列表推导式 i
# for j in num
#     for i in j
#https://blog.csdn.net/qq_19394437/article/details/111505047
h=[]
for i in range(l):
    h.append(nums.count(i))#统计数目 保存到h中
# print(h)#会输出列表
print(*h)#会输出数字 且以空格为间隔

直接输入成一维列表

# 输入矩阵大小n,m 和灰度范围L
n,m,l = list(map(int,input().split()))
nums=[]
for i in range(n):#直接输入成一维列表
    nn=list(map(int,input().split()))
    nums+=nn
h=[]
for i in range(l):
    h.append(nums.count(i))#统计数目 保存到h中
print(*h)#会输出数字 且以空格为间隔

C++11

标签:int,range,直方图,灰度,input,202104,输入
From: https://www.cnblogs.com/kay425/p/17145548.html

相关文章

  • matplotlib 直方图绘制
    importmatplotlib.pyplotaspltimportnumpyasnpif__name__=="__main__":#0、修改支持中文的字体plt.rcParams["font.sans-serif"]=["SimHei"]#......
  • 【python版CV】-直方图 & 傅里叶变换
    文章目录​​1、直方图​​​​mask操作:​​​​shape学习​​​​图像基本运算:​​​​直方图均衡化​​​​2、傅里叶变换​​​​傅里叶变换的作用​​​​滤波:​​​​......
  • 如何在 Pascal Voc 语义分割任务中为标签图建立灰度图索引
    上图是voc语义分割的图片,下图是来自陈洪翰大佬文章中的索引表。直接放代码:importosimportcv2importnumpyasnpfrommatplotlibimportpyplotaspltfromPIL......
  • 【OpenCV】直方图计算 & 均衡化直方图
    开头一叙:最近把一部电视剧《天才基本法》看完了,学了一句话:“一以贯之的努力,不得懈怠的人生”,今天学直方图均衡化的时候,书上只介绍直方图均衡化后的效果,并没有讲解直方图。......
  • 应用纳管和灰度发布:谐云基于 KubeVela 的企业级云原生实践
    以下文章来源于谐云科技 ,作者陈炜舜在OAM最早推出时,谐云就参与其中,并基于社区中oam-kubernetes-runtime项目二次开发,以满足容器云产品中OAM应用模型的功能需求。......
  • 【OpenCV】- 直方图反向投影
    文章目录​​1引言​​​​2反向投影的工作原理​​​​3反向投影的作用​​​​4反向投影的结果​​​​5计算反向投影:calcBackProject()函数​​​​6通道复制:mixCh......
  • 接雨水/直方图的水量
    题目:给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为1。输入:[0,1,0,2,1,0,1,3,2,1,2,1]输出:6一个单位的水不会流......
  • 讨论:关于轻量化的灰度发布方案
    什么是灰度?要想了解这个问题就要先明白什么是灰度。灰度从字面意思理解就是存在于黑与白之间的一个平滑过渡的区域,所以说对于互联网产品来说,上线和未上线就是黑与白之分,而实......
  • 《安富莱嵌入式周报》第301期:ThreadX老大离开微软推出PX5 RTOS第5代系统,支持回流焊的
    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104祝大家开工大吉视频版:https://www.bilibili.com/video/BV1GT411o......
  • [20221227]Adaptive Cursor Sharing & 直方图.txt
    [20221227]AdaptiveCursorSharing&直方图.txt--//前一阵子在做优化时我想当然以为重新分析取消某个日期字段的直方图信息,就不会出现大量子光标问题,结果发现我错了.--......