使用map-reduce进行图像平滑处理

时间:2015-09-20 04:55:22

标签: image-processing mapreduce

我有一个图像,每个像素的RGB值存储在一个二维数组中。假设我想应用一个基本的3X3平均算法来平滑图像。如何使用map-reduce范例实现这样的算法。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我花了一些时间来思考地图缩小范例,但无论如何它是 -

地图任务

输入 - (x坐标,y坐标,RGB值)

输出 - 9个元组,它们是{(x,y,RGB),(x-1,y,RGB),(x-1,y-1,RGB),(x,y-1,RGB) ,(X + 1,Y-1,RGB),(X + 1,Y,RGB),(X-1,Y + 1,RGB),(X,Y + 1,RGB),(X + 1, Y + 1,RGB)}

减少任务

框架将根据键(x坐标,y坐标)对所有这些元组进行排序并重新排列它们。现在,对于每个像素,您有9个相邻像素的RGB值。我们只是在reduce任务中对它们进行平均并输出一个元组----> (X,Y,avg_RGB)

因此,基本上不是每个像素为其自身告知所有相邻像素的RGB值,而是将其自身的RGB值广播为其邻居的像素值。

希望这会有所帮助:)