Ncut matlab code bug fix

Source: Internet
Author: User

First, the platform:

Win7 X64,matlab 2012a x64, pro-test run.

Ncut is an image cutting method, and then review the specific algorithm, many of the online process is Jianbo Shi This 2000, the name should be: Data clustering with normalized Cuts

The problem is that the prevalence is his 2004 revision, and then his official web is also the latest version 2009, then there is no problem, but with the MATLAB update, no longer support Windows directly call. dll files, and its published code Windows platform is using DLLs, if there is The. h header file for the function can also partially modify the call, the problem is no AH.

The main problem before repair is that the function cannot be called: SPARSIFYC spmtimesd.

To the next 2009 years of code, the author is really lazy, the relevant code or 2004, there is no update, just add other code, 2009 version has a bunch of packaged CPP function can not see AH, fortunately there are writers have written guidelines, but the guide is not all. According to the guidelines to switch the decompression directory run Compiledir_simple, but the first run is all wrong, which has the author said can be ignored.

Error:

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

The Compiledir_simple statement is actually a dynamic-link library that runs on the current platform, and DLL belongs to the dynamic-link library, but not all. The statement has, in fact, is probably missing the configuration C + + compiler. Run:

Mex-setup

Select according to the guidelines. I'm using Microsoft Visual C + + in F:\Program Files (x86) \microsoft Visual Studio 10.0

Then run the compile command:

Compiledir_simple

This I run time still will have partial error, but the lack of success!

Explain the next post-MEXW64, referring to the use of the WINDOWS64 platform, MEXGLX refers to the Linux platform, Mexmac refers to on the Mac platform.

At this time the production is put into the function directory, NCUTW, I mainly use is based on the similarity matrix to do ncut, so based on the diagram of the ncut I do not run.

In the directory to run or error, because the code is based on 32-bit writing, so you need to further modify the code, will be all:

Int32 (), Int64 ().

At this time, successfully run, I ran 20 data sets, no problem, based on the diagram of the ncut I did not run, used to see it again.

With the update of MATLAB, a lot of code needs to be updated, such as the above situation, in fact, there is a simple solution is the next old version of Matlab.

However, a version of 2010 or earlier uses int64, which is possible, but does not support arithmetic operations.

For example Int64 (a)-int64 (b), the subtraction error is prompted.

Attached to another author:

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

Ncut matlab code bug fix

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.