小编med*_*loh的帖子

动画 GIF 中帧之间的读取延迟

你如何读取每帧之间的动画 GIF 的控制块?我对每帧之间的延迟感兴趣。我查看了 ImageReader 的 Javadoc,但没有看到任何内容。

这是我从动画 GIF 中读取所有帧的代码,我将如何增强它以读取有关嵌入在动画 GIF 中的每个帧的元数据?

    List<BufferedImage> list = new ArrayList<BufferedImage>();
    try {
        ImageReader reader = ImageIO.getImageReadersBySuffix("gif").next();
        reader.setInput(ImageIO.createImageInputStream(urlImage.openStream()));
        int i = reader.getMinIndex();
        int numImages = reader.getNumImages(true);
        while (i < numImages)
        {
            list.add(reader.read(i++));
        }

        // do stuff with frames of image...

    } catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

java metadata image image-processing animated-gif

3
推荐指数
1
解决办法
3878
查看次数

Spark Scala println是否需要collect()?

刚刚开始使用Spark和Scala。我们已经在我们的dev cloudera hadoop集群上安装了Spark 2,而我正在使用spark2-shell。我正在读一本书以学习一些基础知识。它的示例显示println(foo)在不执行收集的情况下工作,但这对我不起作用:

scala> val numbers = sc.parallelize(10 to 50 by 10)
numbers: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[9] at parallelize at <console>:24

scala> numbers.collect().foreach(println)
10                                                                              
20
30
40
50

scala> numbers.foreach(x => println(x))

scala>
Run Code Online (Sandbox Code Playgroud)

如您所见,除非我执行collect(),否则什么都不会打印。

这是怎么回事,这本书是错的,还是我的spark / scala / config有点有趣?

版本信息:

Spark version 2.0.0.cloudera2
Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111)
Run Code Online (Sandbox Code Playgroud)

scala cloudera apache-spark

0
推荐指数
1
解决办法
1488
查看次数