MATLAB Answers

Matlab cannot identify the mex function

조회 수: 51(최근 30일)
Kwun Yu Wu
Kwun Yu Wu 10 Aug 2019
댓글: hao wei 20 Feb 2020
I am trying to run the symmetry dectection algorithm proposed in the paper "Detecting Symmetry and Symmetric Constellations of Features".
One weird thing happend is that I can perfectly run the code without error in my laptop. But when I copy those file into my desktop computer. The mex function cannot be found. It shows the error message:
Undefined function or variable 'histc_weighted_mex'.
Error in histc_weighted (line 67)
hist = histc_weighted_mex(x,weights,edges);
Error in linear_hough (line 30)
Hough_im = reshape(histc_weighted(ind_hs,weights,[1:prod(size(Hough_im))]), size(Hough_im));
Error in symmetry (line 82)
[Hough_im, max_r, max_ang, r, sym_strength] = linear_hough(im,sym_x,sym_y,ang,phase_weight);
I have no idea why this error occur? Can anyone help me?
Both two computer are using MATLAB R2018b

  댓글 수: 1

Walter Roberson
Walter Roberson 10 Aug 2019
Are both of them the same class of operating system? Windows mex cannot be used with Linux for example.

Sign in to comment.

답변(1개)

SaiDileep Kola
SaiDileep Kola 13 Aug 2019
You are trying to use mex file generated for mac OS (as I see in the link which you provided) which doesn’t work on platforms other than mac. Since, mex file is platform specific, you can generate mex file again for your platform following the guidelines from the link provided.

  댓글 수: 4

표시 이전 댓글 수: 1
Walter Roberson
Walter Roberson 13 Aug 2019
Possibly you generated the .mexw64 on one of the systems, but on the other system it is not on your MATLAB path (that is, you might have copied it, but you possibly did not use pathtool to add it to your path.)
Kwun Yu Wu
Kwun Yu Wu 14 Aug 2019
I just download and run it..
They are all in private folder, which cannot add to the path. But the entry function of mex file (histc_weighted) is also in that folder and I can call it from the outside(linear_hough).
If the entry function can be called from outside, I think the entry function should be able to reference the related mex file under the same directory.
hao wei
hao wei 20 Feb 2020
I met the same problem but in my case, I just
mex private\histc_weighted_mex.c
and then the code is runed succeed.
PS. My computer is win10-64 bit with Matlab 2016B.

Sign in to comment.


Translated by