一开始拿到一份BSR文件,但不知道如何使用

好在检索能力和运气都还算可以,找到了一个网页(应该是官网)

https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/resources.html

4

从这里下载了完整版的BSR,里面有说明文档

img

发现提供的代码是要在linux或mac下运行的,因为比较熟悉linux,所以我选择使用linux的虚拟机

README_linux译文:

按照以下步骤从Linux系统上的源代码编译Berkeley分段资源:

[使用MATLAB-r2013a在Ubuntu 12.10上测试]。

1.必备条件:

A.我们假设您已经安装了MATLAB,并且正确配置了MEX(在MATLAB提示符下键入MEX-SETUP)。

B.确保MATLAB在您的路径中,例如:
$EXPORT PATH=$PATH:/opt/matlab-r2011a/bin。

C.确保您的系统具有所需的映像库:
$sudo apt-get install libjpeg-dev。
$sudo apt-get install libpng-dev。

D.强制MATLAB加载系统的最新库,而不是其自己的旧版本:
$EXPORT LD_PRELOAD=/lib/x86_64-linux-gnu/libc.so.6:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/lib/x86_64-linux-gnu/libgcc_s.so.1;

2.编译:

A.我们假设您在名为/bsr/的文件夹中解压缩了.tgz文件。

B.编辑文件/bsr/grouping/source/gpb_src/Rules.make中的以下行,使其指向matlab所在的目录。
已安装(下面给出的示例):

Matlab_path:=/opt/matlab-r2011a。

此外,如果您使用的是32位体系结构而不是64位体系结构,请取消注释。
指定32位体系结构的行,并注释指定。
64位:

#MATLAB MEX文件编译设置-MATLAB架构(32位机器)。
Matlab_ARCH:=glnx86。
MEX_EXTN:=mexglx。

#MATLAB MEX文件编译设置-MATLAB架构(64位机器)。
#matlab_arch:=glnxa64。
#MEX_EXTN:=mexa64。

C.转到/bsr/grouping/source并键入以下命令:
$source build.sh。

此脚本应构建所有包,并将生成的.mex文件复制到/bsr/grouping/lib目录中。

3.使用示例:

A./bsr/grouping/test_gpb_ucm.m:在小镜像上运行gpb_ucm测试编译。

B./bsr/grouping/example.m:gpb_ucm的使用示例,包括对大图的支持。

C./bsr/bench/test_bichs.m:具有各种输入格式的BSDS500基准的使用示例。

可以从MATLAB-r2013a和Ubuntu 12.10看出,这个还是比较旧的版本,ubuntu12.10的镜像现在是很难找到了,不过操作系统几乎都是可以向前兼容的,所以暂且使用ubuntu20.04,希望可以成功,而编译环境的部分——MATLAB,也有同样的问题,我只能找到比较靠近r2013a的r2015b

安装自然是对着网上的教程,但MATLAB的激活步骤出了问题, MATLAB是有版权限制的,但只要利用给出的注册码和注册机伪破解就可以解决,但是偏偏产生了“段错误”,而且像这样的问题往往很难解决,因为一千台电脑就有一千种环境,但还是只能搜索原因:

img

但是没有结果,看来只能选择不同的版本重装,至此问题仍然没有解决