Scala和Spark:如何浏览图片?

Jar*_*ler 2 scala apache-spark

我有一些二进制文件是图像,我想要自己完成,分配像素:我的集群的每个节点必须获得不同于另一个节点的像素组的RGB,并将这些RGB存储到一个Scala集合.

我正在使用,SparkContext::binaryFiles但我不知道如何让Apache Spark"能够理解"我正在使用一个Image,我想要使用分布来查看其像素,并且我想获得RGB值.你能帮帮我吗?

Sim*_*mon 9

Spark 2.3增加了对解析图像的支持.您可以读取图像并获取元数据和图像数据,如下所示:

import org.apache.spark.ml.image.ImageSchema._
import java.nio.file.Paths

val images = readImages("path/to/images")

images.foreach { rrow =>
  val row = rrow.getAs[Row](0)
  val filename = Paths.get(getOrigin(row)).getFileName().toString()
  val imageData = getData(row)
  val height = getHeight(row)
  val width = getWidth(row)

  println(s"${height}x${width}")
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到更多信息