Ubuntu KCF 代码运行

最近刚接触kcf,在Ubuntu上运行代码,碰到一些问题,借鉴了网上其他人的方法,简单记录一下过程。

KCF代码下载

KCF的代码可以去作者的网站去下载:
http://www.robots.ox.ac.uk/~joao/circulant/index.html
如下图:
在这里插入图片描述
这里我下了Muti-scale C++和Streamlined C++,解压缩以后分别得到文件KCFcpp-master和kcf-master。可能会需要用到Trax,下面记录了Trax的编译过程。

Trax编译

Trax可以在如下链接中下载:Trax库
我在安装Trax的时候发现有两个版本,分别是1.1.4和2.0.1,这里要用1.1.4版本:
在这里插入图片描述
否则后面编译kcf-master文件里的main_trax.cpp时会报如下错误:
no matching function for call to ‘trax::Server::wait(trax::Image&, trax::Region&, trax::Properties&)’ int tr = handle.wait(img, reg, prop);
这是因为main_trax.cpp调用的Server::wait()函数与2.0.1版本的Trax中定义的Server::wait()函数的参数列表不一致,所以要根据实际情况来选择正确版本的Trax。
下载完以后,解压缩,进入Trax文件目录,输入如下命令进行编译(更详细的内容可以参考Trax编译文档):

$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

这样就完成了Trax的编译,默认情况下,仅构建C库,如果要启用其他模块,则必须在$ cmake … 这一步通过添加标志来告知CMake:

$ cmake -DBUILD_OPENCV=ON -DBUILD_CLIENT=ON ..

在编译的时候还曾遇到如下问题:
Found OpenCV Windows Pack but it has not binaries compatible with your configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV library.
Found package configuration file: … but it set OpenCV_FOUND to FALSE so package “OpenCV” is considered to be NOT FOUND.

解决方法是在CMakeLists.txt里的find_package(OpenCV REQUIRED)前面添加如下内容:
set(OpenCV_DIR /home/…/opencv/build) //编译opencv的build目录
set(OpenCV_FOUND 1)

KCF代码编译

以KCFcpp-master为例,进入KCFcpp-master,执行如下命令:

$ mkdir build
$ cd build
$ cmake ..
$ make

得到可执行文件KCF。

准备数据

数据序列可以在如下链接下载:数据序列
以Basketball为例,下载下来的数据有图片img和object位置文件groundtruth_rect.txt,将img文件夹里图片的路径存入到images.txt文件中:

import os

path='.../Basketball/img'   

dirs=os.listdir(path)
dirs.sort()
f=open('images.txt','w')
for dir in dirs:
	img=path+'/'+dir
	f.write(img+'\n')

f.close()

将第一张图片中object的位置写入到region.txt文件中,groundtruth_rect.txt文件里面就是每张图object的位置(左上角坐标、宽、高),这里我们只需要第一张图的object的位置(需要是四个点的坐标),因此要做一下转化,例如groundtruth_rect.txt文件里第一行是:198,214,34,81,那么region.txt里的内容就应该是:198, 214, 198, 295, 232, 214, 232, 295

程序运行

将images.txt和region.txt放入到build文件夹,终端中输入:

$ ./KCF show

即可查看运行结果了。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值