MapReduce实现图像处理

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

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

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

MapReduce实现图像处理_第1张图片                     MapReduce实现图像处理_第2张图片

 public class  Map extends Mapper {

	@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()));
	}
 }

你可能感兴趣的:(Java学习,hadoop)