Image processing 基于map-reduce的图像平滑

Image processing 基于map-reduce的图像平滑,image-processing,mapreduce,Image Processing,Mapreduce,我有一个图像,每个像素的RGB值存储在一个二维数组中。假设我想应用,一个用于平滑图像的基本3X3平均算法。如何使用map-reduce范式实现这样的算法 提前感谢。我花了一段时间在map reduce范例中思考,但无论如何,它在这里- 映射任务 输入-(x坐标、y坐标、RGB值) 输出-9个元组,它们是{(x,y,RGB),(x-1,y,RGB),(x-1,y-1,RGB),(x+1,y-1,RGB),(x+1,y,RGB),(x-1,y+1,RGB),(x,y+1,RGB),(x,y+1,RG

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


提前感谢。

我花了一段时间在map reduce范例中思考,但无论如何,它在这里-

映射任务

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

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

减少任务

该框架将根据关键点(x坐标、y坐标)对所有元组进行排序并重新排列。因此,对于每个像素,您有其相邻像素的9个RGB值。我们只是在reduce任务中对它们进行平均,然后输出一个tuple-->(x,y,avg_RGB)

因此,基本上不是每个像素告诉自己所有相邻像素的RGB值,而是广播自己的RGB值作为其相邻像素的像素值


希望这有帮助:)

如果算法需要“reduce”来连接子任务的结果,那么map reduce将很有帮助。在这种情况下,平滑操作是局部的,并且除了结果像素的放置之外不需要任何组合。这个问题本质上是可分离的,并且可以并行处理。@Photon-感谢您的反馈。是的,并行进行是很好的。但是,我想用map-reduce来做。谢谢你的解释。