MapReduce实现图像处理

时间:2022-02-22 18:24:39

现在通过自定义图像接口ImageInputFormat ImageRecordReader等,实现了基于MapReduce的图像处理。 

可处理的是常见的图像格式bmp,jpg,png等,但是对于DiCOM等医学图像的处理还处于学习阶段。现在还没实现,目前的想法是利用ImageJ plugin插件实现对DICOM格式的数据进行读取,具体的解析有待进一步学习。加油!望早日实现MapReduce对DICOM图像的处理。

下面是调用opencv的sobel函数,进行处理的结果(附有代码)。

MapReduce实现图像处理                     MapReduce实现图像处理

 public class  Map extends Mapper<Text, Image, Text, Image> {

@Override
public void map(Text key, Image value, Context context)
throws IOException, InterruptedException {

IplImage src = value.getImage();
IplImage dest = cvCreateImage(cvSize(src.width(), src.height()),
src.depth(), src.nChannels());
//实现基于opencv的各种操作
//cvEqualizeHist( src, dest );
cvSobel( src, dest, 1, 0, 3);
cvConvertScale(dest, src, 1.0, 0.0);
context.write(key, new Image(dest,value.getWindow()));
}
}