Computer Vision Toolkit (cvkit) 是发布在 Middlebury Stereo Datasets 上的一套计算机视觉研究工具集。本文主要记录它的安装和使用方法。
Computer Vision Toolkit (cvkit) 是一套可以在 Linux 或 Windows 平台上使用的小型计算机视觉研究工具集。它包含许多有用的工具允许可视化分析图像或3D模型。
sv 是一款简洁的科学图像查看器,它可以显示黑白图像和8位或16位整型数值彩色图像以及32位浮点型数值的彩色图像。它的功能包括用伪彩色系统显示黑白图像,定义光照强度,放大图像,或者自动重载图像(仅 Linux)。至于图像对比,诸如在图像放大、改变光照等情况下,这些设置可以在不同图像切换时保持。带有相机参数的深度图像(全部的或部分的)文件可以通过视点飞行的方式可视化并查看。原生sv支持PGM、PPM和PFM以及TIFF图像格式,它们可以使8位、16位整型或32位浮点型数值。TIFF、JPG、PNG、GIF和许多其他栅格式数据格式可以通过可选的库比如GDAL来添加支持。
plyv 是一个简洁但是非常快捷的查看器,它可以查看彩色点云数据和带有顶点色彩的栅格数据,带有阴影和纹理的图像。它支持视点飞行方式可视化带有相机参数的深度图像。plyv 基于 OpenGL,它可以处理包含数百万顶点和三角的大规模 3D 数据。plyv 主要支持PLY 格式。PLY 格式由斯坦福大学发明,它作为一种扩展格式,可以存储顶点和多边形还有其它相关信息。plyv 在浏览真实世界的数据时非常有效。
从 Middlebury Stereo Datasets 下载请点击 cvkit code。
查看源代码点击 cvkit github。
最低安装要求:
可选包:
如果上述库不被使用,仅支持加载和保存 PGM、PPM 和 PFM 格式的图像。
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
OpenGL Installation on GNU/Linux
sudo apt-get install libjpeg9-dev libpng12-dev
sudo apt-get install libgdal-dev
cd ${path_to_root_of_cvkit} # maybe path_to_root_of_cvkit=~/Libs/cvkit
mkdir build
cd build
cmake ..
make
sudo make install
进入example
目录
cd example
查看RGB图像
sv 1097_rgb.ppm
查看Disparity图像
sv 1097_disp.pfm
cvkit code 提供了 Windows 的预编译二进制安装包。
下载 cvkit-1.7.0-win32.zip
解压缩并运行 cvkit-1.7.0-win32.exe
得到 cvkit
目录结构如下
{PATH_TO_CVKIT}/cvkit
|
|_ bin
| |_ imgcmd.exe
| |_ libgdal-1.dll
| |_ plycmd.exe
| |_ plyv.exe
| |_ sv.exe
|
|_ doc
| |_ CHANGES.txt
| |_ INSTALL.txt
| |_ LICENSE.txt
| |_ README.txt
| |_ USAGE.txt
|
|_ example
| |_ 1095_param.txt
| |_ 1096_param.txt
| |_ 1097_disp.pfm
| |_ 1097_param.txt
| |_ 1097_rgb.ppm
| |_ 1098_param.txt
| |_ 1099_param.txt
| |_ README.txt
|
|_ Uninstall.exe
将 {PATH_TO_CVKIT}/cvkit
添加到系统环境变量,即可在 CMD 中使用。
参看 cvkit github.
可以在操作系统中建立sv
和.ppm
、.pgm
、.pfm
格式文件的关联,在双击这些文件时默认使用sv
工具查看.
同样的,可以在操作系统中建立plyv
和.ply
格式文件的关联,双击.ply
文件时默认使用plyv
工具查看.
sv: 查看和分析 2D 图像.
图例详见第3.
部分.
plyv: 查看和分析 3D 模型
$ plyv 1097_disp.pfm *param.txt
滚动鼠标轮,按住鼠标左键移动,可以调整视点位置.
彩色方框表示拍摄的相机位姿.
imgcmd: 缩放、裁剪和转换图像
具体选项看帮助信息.
$ imgcmd -help
例如,裁剪图片.
$ imgcmd 1097_rgb.ppm -crop 0 0 100 100 -out 1097_rgb_crop.ppm
-crop
指定裁剪区域左上角的坐标和宽高,-out
指定输出文件的名称和格式.
plycmd: 将深度图像转换为 PLY 格式数据.
具体选项看帮助信息.
$ plycmd -help
example
中的例子.
$ plycmd 1097_disp.pfm -out 1097.ply
Using parameter file: 1097_param.txt
Using parameter file: 1097_PARAM.TXT
Found suitable image: 1097_rgb.ppm
Using texture image: 1097_rgb.ppm
得到1097.ply
,使用plyv
查看
$ plyv 1097.ply