由于工作上需要C++版的Normalized Cut 代码,爬遍几乎整个网络,找到了一个比较靠谱的版本,但期间各种配置,终于搞定,做下记录。

代码原始版:https://github.com/bsankaran/clutter_segmentation/tree/master/ncuts-evh

一、 首先自己在Ubuntu系统上验证了下,配置的时候:

1 先下载Boost Eigen3 两个库,放到/usr/include路径下(这两个是.h版的库,不需要安装)

2 安装依赖库arpack: sudo apt-get install libarpack2-dev libsuperlu3-dev

3 git clone源码,进行make

make的时候出现错误: no declarations were found by argument-dependent lookup,跟进去发现找不到的是继承里的虚函数

解决:在makefile里添加 -fpermissive

make搞定

二、Linux->Window的移植

自己的程序是在VS上编写的,所以需要移植到VS,但开源代码是Linux下的。成功移植的步骤如下:

1 移植ARPACK,参考文章:http://www.cs.cmu.edu/~barbic/arpack.html,需要注意的是

(1) 现在已经淘汰FC=g77的Fortran的编译器,需要改为gfortran,修改文件 ARmake.inc:

FC = gfortran 注释掉FFLAGS = -O -cg89

(2)修改 second.f 文件为:

SUBROUTINE SECOND( T )
      REAL       T
      CALL CPU_TIME(T)
      RETURN
      END

2 arcompp.h里加入 #define __GNUG__ 不然提示找不到 arcomplex标志

3 编译即可

Normalized Cut的C++代码 Linux Win相关推荐

  1. 图像处理--归一化切割--(normalized cut)--Python实现

    归一化切割Normalized cut 是一种分群(cluster grouping)技术,在数据处理和图像处理方面有很广的运用 用其实现图像分割的思路是,把一个图片看成一个图(graph), 然后计 ...

  2. Linux 查看交换区内容,Unix: Unix/Linux/Win的虚拟交换区信息的查看

    Unix: Unix/Linux/Win的虚拟交换区信息的查看 Solaris ======= # swap -l swapfile             dev  swaplo blocks   ...

  3. Java代码操作win后台进程

    Java代码操作win后台进程 话不多说,直接上代码 强调说明: 使用的时候程序要有管理员权限,也就是以管理员身份运行,运行IDE,或是运行打包好的黑窗口. /*** 代达罗斯之殇** @ClassN ...

  4. 在linux下载github代码,linux 定时下载github最新代码

    场景:网站的代码在github上托管,静态网站部署在服务器上,每次自己修改完本地代码后,提交到github上,需要自己去服务器上执行git pull 拉取最新代码, 为了解决这种操作,自己再服务器上  ...

  5. linux电子相册登录界面代码,Linux项目开发—电子相册

    1.简述:电子相册,开发一个在ARM9开发板上的电子相册,实现图片的播放: 2.工具.材料:电脑(带有Ubuntu等系列Linux系统).ARM9系列开发板.串口线一根.串口通信软件SecureCRT ...

  6. linux下从git获取有权限的代码,linux下从源代码安装git

    之所以有这样的需求,是因为部分预安装的git版本太低,很多功能没有并且安全性存在问题. 比如git submodule add xxx@host:yyy.git必须在父repo的root目录安装,而新 ...

  7. linux 内核round-robin scheduler代码,LINUX源代码阅读报告

    进程调度代码分析 --关于LINUX源代码中进程调度部分的读书报告 在多进程的操作系统中,进程调度是一个全局性.关键性的问题,它对系统的总体设计.系统的的实现.功能设置以及各个方面的性能都有着决定性的 ...

  8. linux编程技术进程代码,Linux进程通信—信号量 代码实现

    1.信号量使用流程 (1)获得keyVal值.keyVal=ftok(PATH_SHM,PRI_SHM_ID); (2)创建信号量或打开信号量的键值nSemid=semget(keyVal,1,IPC ...

  9. linux下如何屏蔽代码,linux c 怎么屏蔽信号 使用sigprocmask命令

    SIGPROCMASK(2)             Linux Programmer's Manual            SIGPROCMASK(2) NAME sigprocmask - ex ...

最新文章

  1. Mind the Gap: Upgrading Genomes with Pacific Biosciences RS Long-Read Sequencing Technology
  2. 知识库的构建 5-3 马尔科夫逻辑 Markov logic
  3. 5G-NR复用与信道编码
  4. Eclipse配置开发Go的插件——Goclipse
  5. 密钥登陆Linux服务器
  6. memlock mysql_mysql配置详解(不断更新)
  7. 手机在线测试黄疸软件,在家怎么用手机测黄疸
  8. c#网页自动化脚本语言,c# – 创建用于创建网页的脚本语言
  9. 错过血亏!深入学习Redis集群搭建方案及实现原理
  10. 实现机器学习的循序渐进指南系列汇总
  11. 线性代数及其应用(英文第四版)下载
  12. 深入理解Nginx——链接
  13. js 打开新窗口 修改 窗口大小
  14. Java语言实现矩阵卷积运算
  15. 【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第四节 窗体的移动
  16. 【六袆 - Java】跟WebService说Hola;入门WebService;
  17. 好记性真的不如烂笔头
  18. H5纯静态页面分享到微信朋友圈带图片显示
  19. NFT周刊|Jay-Z拍卖“Reasonable Doubt”NFT;漫威推出NFT藏品
  20. docker部署的mysql调整宿主机映射端口

热门文章

  1. 专用播放器到底是些什么东西?
  2. 计算机网络的对学生的利弊英语作文,网络的利与弊英语作文范文
  3. 多个视频文件合成画中画效果(Python版)
  4. 手机网站(wap)广告展示一般都有哪些表现形式?
  5. [学习SLAM] 3D可视化 只viz模块和pangolin
  6. 开发者选项在哪?4.2及以上系统呼出教程
  7. 众人逃离北上广后又逃回:观念不合拍还要拼爹
  8. 刷了 1000 多道算法题,一点小小的心得!
  9. LDO电路设计以及选型的几个重要参数
  10. 属鸡适不适合学计算机,生肖属相鸡适宜什么职业(详解)