虽然我知道Hadoop通常不用于图像处理,但作为概念证明,我一直在尝试使用Hadoop实现图像处理。在此过程中,我成功地实现了Sobel边缘检测算法,使用MapReduce模型并在Hadoop下运行。
我的程序应该从HDFS中获取一个文件夹作为输入,处理文件夹中的文件并将输出写入HDFS。但是,它考虑的是输入文件夹中的单个文件,并将单个文件作为输出写入。
下面是文件的源代码https://gist.github.com/ardahal/f0046e50e04fadc28a96
这将是半自动的,但聊胜于无。假设,您的输入目录是:/user/hadoop/inpur_dir/input_i.txt
Path pth = "/user/hadoop/inpur_dir/input_"
for(int i = 0; i < number_of_image; i++){
FileInputFormat.addInputPath(job, pth.suffix(i+".txt") );
}
和
这里是多个输出。