我想从灰度mj2电影中提取图像。使用16位对每个像素进行编码。由于这是一部技术电影,我需要提取每个像素的值而不进行处理,因为这些值线性映射到一个物理量(来自红外摄像机的热图)。我正在使用Scala,但我没有找到任何适合直接提取的解决方案(无论是在Scala中还是在Java中,但我是一个初学者)。因此,我打算使用ffmpeg来提取磁盘上的单个帧,然后将它们作为BufferedImage加载到Scala中并对它们进行处理。
这是一种好的方法吗?我应该使用哪种格式来避免数据中的任何转换?我希望每个提取的帧都是尽可能“原始”的?是否可以直接输出包含上述值的csv?
发布于 2016-09-29 23:23:01
最简单的选择可能是使用图像处理库,如OpenCV。它提供了打开各种文件并提取所需信息的实用程序。
发布于 2016-09-24 00:59:34
一般的答案是使用段多路复用器,而不看示例。
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 https://stackoverflow.com/questions/39662283
复制相似问题