java - 从电影中原始提取帧

标签 java image scala image-processing ffmpeg

我想从灰度中提取图像 mj2电影。每个像素均使用 16 位进行编码。由于这是一部技术电影,我需要在不进行处理的情况下提取每个像素的值,因为这些值线性映射到物理量(红外相机的热图)。我正在使用 Scala,并且没有找到任何合适的直接提取解决方案(无论是在 Scala 还是在 Java 中,但我是初学者)。因此我打算使用ffmpeg提取磁盘上的各个帧,然后将它们作为Scala中的BufferedImage加载并处理它们。

这是一个好方法吗?我应该使用哪种格式来避免数据发生任何转换?我希望每个提取的帧尽可能“原始”?是否可以直接输出包含上述值的csv?

最佳答案

无需查看示例,通用答案是使用分段复用器

ffmpeg -i in.mj2 -f segment -segment_time 0.01 -map 0 -segment_format data frame%d.raw

但是由于输入编解码器是 JPEG-2000,您也许可以运行

ffmpeg -i in.mj2 -c copy frame%d.jp2 

关于java - 从电影中原始提取帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662283/

相关文章:

image - 最大池化 VS 求和池化

html - 背景图像 CSS 的最大尺寸

scala - 为什么可以在没有应用方法的情况下创建 Map 对象?

scala - scala 中的递归排序与尾递归

scala - 在 scala 中的自类型特征中调用父类(super class)的方法

java - Java 二叉堆中的 RemoveMin

java - hibernate 'open session in view' 和异步任务

java - 依赖注入(inject): templates (/generics) or virtual functions?

java - 使用 Grails 为基于 Java 的业务对象构建 Web UI?

image - JHipster : Blob/ImageBlob/VideoBlob/AudioBlob datatype