将Spark 2.3.0数据集保存为图像格式

时间:2018-04-28 06:53:18

标签: apache-spark image-processing

使用Spark 2.3.0新功能,ImageSchema,我已经将一些图像作为数据集读取,现在对它们进行更改后,我想将它们保存为图像格式(png,jpeg)。 我得到了每个数据集行的数据(byte []),并尝试将其保存为png文件,但导出的文件无效!

Dataset<Row> images = ImageSchema.readImages("images/");
images.foreach(data_row -> {
    Row row = data_row.getAs(0);
    File file = new File(Paths.get(ImageSchema.getOrigin(row)).getFileName().toString() + ".png");
    FileOutputStream fos = new FileOutputStream(file);

    fos.write(ImageSchema.getData(row));
    fos.flush();
    fos.close();
}

1 个答案:

答案 0 :(得分:0)

好像imageData是一种特定格式,在直接写入文件之前需要进行操作。

https://github.com/databricks/spark-deep-learning/blob/master/src/main/scala/com/databricks/sparkdl/ImageUtils.scala