先说平台:

win7 x64,matlab 2012a x64,亲测运行。

ncut 是个图像切割方法,以后再回顾具体算法吧,网上很多流程的是Jianbo Shi 这位2000年写的,名字应该是:Data Clustering with Normalized Cuts

问题是普遍流行是他2004修改版,然后其官网上最新也是2009版,那时候还没有问题,可是随着matlab 更新,不再支持 windows 下直接调用.dll文件了,而其公布的代码windows 平台是使用dll 的,如果还有 函数的.h头文件那还可以部分修改调用,问题是没有啊。

在没有修复前主要问题是不能调用函数 :sparsifyc    spmtimesd。

去下2009年的代码,作者真是懒,相关代码还是2004年,根本没有更新,只是添加了其他代码,2009版本有一堆封装了的cpp函数查看不了啊,还好有作者有写指引,可是指引不全阿。根据指引切换解压目录 运行 compileDir_simple ,可是第一次运行根本就是全部出错嘛,哪有作者说的可以忽略。

错误:

Error: Could not detect a compiler on local system which can compile the specified input file(s)...

compileDir_simple语句其实就是生成当前平台运行的能够运行的动态链接库,dll 属于动态链接库,但不是所有。语句有了,其实很可能就是缺少配置C++编译器。运行:

mex -setup

根据指引选择。我用的是 Microsoft Visual C++ 2010 in F:\Program Files (x86)\Microsoft Visual Studio 10.0

然后才运行编译命令:

compileDir_simple

这个我运行时候还是会有部分出错,但缺少的成功了!

解释下后序,mexw64,指在windows64 平台使用,mexglx指在linux 平台,mexmac指在mac 平台。

这时候将生产的都放到函数目录下,ncutw,我主要是使用是基于相似度矩阵做ncut,所以基于图的ncut 我没有运行。

放到了目录下运行还是会出错的,因为代码是基于32位 编写,所以,需要对代码进一步修改,将全部的:

int32() -> int64()。

这时候,成功运行了,我跑了20个数据集,没有问题,基于图的ncut我没有跑,用到的时候再看看吧。

随着matlab 的更新,很多就的代码需要更新,例如上面的情况,其实有个简单的解决便是下个旧版本的matlab。

可是,2010 或之前的版本 使用int64,是可以,但不支持运算操作阿。

例如 int64(a) - int64(b) ,会提示 减法出错。

另附作者的连接:

http://www.cis.upenn.edu/~jshi/software/

Ncut matlab 代码bug 修复的更多相关文章

  1. 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复

    开篇语 昨晚发了一篇: <简年15: 微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 > 然后上午起来吃完午饭之后,我就准备继续开工的,但是突然的,想要看B站.然后在一股 ...

  2. 【原创】够强!一行代码就修复了我提的Dubbo的Bug。

    这是 why 技术的第 28 篇原创文章 之前在<Dubbo 一致性哈希负载均衡的源码和 Bug,了解一下?>中写到了我发现了一个 Dubbo 一致性哈希负载均衡算法的 Bug. 对于解决 ...

  3. RHSA-2017:2029-中危: openssh 安全和BUG修复更新(存在EXP、代码执行、本地提权)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  4. RHSA-2017:2930-重要: 内核 安全和BUG修复更新(需要重启、存在EXP、本地提权、代码执行)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  5. RHSA-2017:2299-中危: NetworkManager 和 libnl3 安全和BUG修复更新(本地提权、代码执行)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  6. RHSA-2017:1842-重要: 内核 安全和BUG修复更新(需要重启、存在EXP、本地提权、代码执行)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  7. RHSA-2018:0395-重要: 内核 安全和BUG修复更新(需要重启、本地提权、代码执行)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  8. RHSA-2017:1931-中危: bash 安全和BUG修复更新(代码执行)

    [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 修复命令: 使用root账号登陆She ...

  9. 仿酷狗音乐播放器开发日志十九——CTreeNodeUI的bug修复二(附源码)

    转载请说明原出处,谢谢 今天本来打算把仿酷狗播放列表的子控件拖动插入功能做一下,但是仔细使用播放列表控件时发现了几个逻辑错误,由于我的播放 列表控件是基于CTreeViewUI和CTreeNodeUI ...

随机推荐

  1. 在Ubuntu下配置jdk+maven

    1.在官网上下载对应Linux版本的jdk 2.在终端输入命令将下载好的jdk解压并且转移到指定的路径如:首先执行 tar -zxvf jdk-8u181-linux-x64.tar.gz    然后 ...

  2. (ADO.NET小知识点汇总)看到什么记什么

    1.数据库连接池:在同时连接数不多的情况下, 打开一个链接往数据库导1W条数据的耗时 跟 导一条数据就打开跟关闭数据库连接的耗时 两者其实相差不大,这是为什么呢?打开关闭的本身不是有很多耗时吗?这是因 ...

  3. Python登录人人网并抓取新鲜事

    from sgmllib import SGMLParser import sys,urllib2,urllib,cookielib class spider(SGMLParser):     def ...

  4. Java开发经验

    两个类要传递参数: 1.构造方法 2.方法的参数 3.静态的变量

  5. OpenResty入门

    写一个小例子--输出随机字符串 编写nginx配置文件 location /random { content_by_lua_file /usr/local/openresty/nginx/conf/l ...

  6. spring整合mybatis详解

    在上篇螃蟹已经说明spring注解的最经典配置,接下来开始整合mybatis,这样整个项目就相对完整了. 有关本实例的源码可以到 <spring MVC注解实例及说明文档> 下载. 如需转 ...

  7. 设计模式之第6章-迭代器模式(Java实现)

    设计模式之第6章-迭代器模式(Java实现) “我已经过时了,就不要讲了吧,现在java自带有迭代器,还有什么好讲的呢?”“虽然已经有了,但是具体细节呢?知道实现机理岂不美哉?”“好吧好吧.”(迭代器 ...

  8. Effictive C++ 学习记录

    这是前段时间看的书,整理到这里吧,以后查看也方便. 这些条款需要反复查看. 条款01:视C++为一个语言联邦 条款02:尽量用const.enum.inline替换#define 条款03:尽可能的使 ...

  9. live 555 freebsd 或centos 7.4 实现代理视频直播服务

    live 555   freebsd 或centos 7.4 实现代理视频直播服务 the live555 media server    在线直播服务器 关于此服务器 此服务是一个无安全的rtsp服 ...

  10. LeetCode with Python -> Dynamic Programming

    198. House Robber You are a professional robber planning to rob houses along a street. Each house ha ...