#W1014. 图片压缩

图片压缩

题目背景

在数字图像处理中,为了减少存储空间或便于快速预览,经常需要对图像进行“缩略”处理。最简单的方法之一是将相邻的像素点进行合并。本题要求你实现一个基础的压缩算法:将每 2×22 \times 2 个像素块合并为一个像素点。

题目描述

给定一个 n×mn \times m 的彩色图像,其中 nnmm 均为偶数。图像的每个像素由 RGB(红、绿、蓝)三个分量组成。 请你将图像中每 2×22 \times 2 的像素块压缩为一个像素。新像素的 R、G、B 分量分别为原 2×22 \times 2 区域内对应分量的算术平均值。 注意: 如果平均值不是整数,请向下取整

输入格式

第一行包含两个正整数 nnmm (2n,m5002 \leq n, m \leq 500,且为偶数),表示图像的行数和列数。 接下来 nn 行,每行包含 mm 个像素数据。 每个像素数据的格式为 (R,G,B),其中 R,G,BR, G, B 均为 00255255 之间的整数。

输出格式

输出 n2\frac{n}{2} 行,每行包含 m2\frac{m}{2} 个像素数据,代表压缩后的图像。 每个像素数据的格式同样为 (R,G,B),中间用空格隔开。

样例

2 2
(10,20,30) (20,30,40)
(30,40,50) (40,50,60)
(25,35,45)

样例解释

对于 R 分量:(10+20+30+40)/4=100/4=25(10 + 20 + 30 + 40) / 4 = 100 / 4 = 25。 对于 G 分量:(20+30+40+50)/4=140/4=35(20 + 30 + 40 + 50) / 4 = 140 / 4 = 35。 对于 B 分量:(30+40+50+60)/4=180/4=45(30 + 40 + 50 + 60) / 4 = 180 / 4 = 45。 最终得到 (25,35,45)(25,35,45)