光流文件(.flo)转图片(.png)
下载光流文件转图片格式文件flow-code.
http://download.csdn.net/download/qq_20514449/10174848
按照README.txt文件中的步骤进行编译安装
cd imageLib
make
cd ..
make
到此就编译完成了,此时当前文件夹下会有两个可执行文件,分别为colortest和color_flow。
colortest主要用来生成光流转换的参考坐标系,及光流向量的大小与颜色之间的参考。
执行 ./colortest 10 colors.png 会在当前文件夹下生成colors.png,打开可以看到
10表示水平和垂直坐标系的大小,你也可以改为其他大小。水平和垂直坐标系分别表示水平和垂直的光流向量u,v。一个向量对应一个颜色。在对单幅光流文件进行转换时,可以直接使用./color_flow 1.flo 1.png。该程序只支持将光流文件转换为png, pgm/ppm,其他图片格式不支持。这个在imageLib文件夹下的README.txt中有明确的说明。 imageLib is a small C++ library for 2D multi-band images. See Image.h for more detail. Reading and writing of images is supported in pngand pgm/ppm formats, as well as a subset of Targa. See ImageIO.h for more detail.
一般而言,我们生成的光流文件都会有很多个,因此,我用python简单的写了一个多文件转换的程序,程序非常简单,就是在一个循环里不断执行转换程序就可以了,代码如下所示。
import os
path = '/home/ubuntu/flownet/flo/'
png_path = '/home/ubuntu/flownet/png/'
length = len(os.listdir(path))
num = 1
while(num<length):
ml = './color_flow\t' + path + str(num) + '.flo\t' + png_path + str(num) + '.png'
os.system(ml)
num += 1
将你的光流文件按照1.flo,2.flo,……,n.flo的格式命名,并统一放在一个文件夹下。将程序中的flo_path和png_path改成你自己的路径,就可以运行了。