An update on getting Opencv & Matlab working
Mathworks haven’t issued a patch for 2012b and OS X 10.9 so I ran the 10.9 patch (from http://www.mathworks.com/matlabcentral/answers/94092) and ran
I then modified the mexopts.sh file (mex -setup tells you where this is, on my system its
In the section called
remove the version numbers from CC and CXX and correct the SDKROOT. I also changed the deployment target to 10.9
After a restart, mex worked fine.
A useful tracking dataset – PETS 2012
I’m experimenting with using OpenCV and Matlab and have come across a problem. Matlab (at least on my Mac) loads its own versions of libraries preferentially. This isn’t normally a problem but if your mex code links against a different version you might get a library conflict. One that I have come across several times is Matlab uses an old version of libtiff (it’s used in imread, imwrite etc) and OpenCV uses a newer version. So when I run an OpenCV mex file, Matlab attempts to load the old version for my OpenCV and the mex file crashes.
My first attempt to solve this was to update the Matlabs version of libtiff – it partially worked. My libraries were fine but it broke imread so it wasn’t acceptable. The solution I found when trying the mexopencv wrapper is to preload the up to date libraries when starting Matlab. The command was
DYLD_INSERT_LIBRARIES=/opt/local/lib/libtiff.5.dylib /Applications/Matlab/MATLAB_R2012b.app/bin/matlab &
This is a new site designed to reflect some of my interests in object tracking and identification. I hope to make this a useful source of research papers and code – but there’s a lot of work to do yet.