一在matlab run下去,就出現傳說中的Invalid MEX file。差點拿電腦起來砸!!!
不過,這個錯誤在之前爬文時就有看見,所以就是我的openCV版本太多,compile失敗太多次的結果吧。
回到/Applications/MATLAB_R2013b.app/bin/maci64 中,一不作二不休,把目錄下的所有 libopencv___.dylib全砍了。
終於,它乖乖的可以在matlab下執行了。
我現在執行的是東大的code,不過我個人把它修改過了,將兩個code連結起來,就可以啟動camera,同時做人臉辨視:
% Load a face detector and an image detector = cv.CascadeClassifier('/Users/chaoh2/Documents/MATLAB/haarcascade_frontalface_alt.xml'); % Connect to a camera camera = cv.VideoCapture(); pause(1); for i = 1:100 % Capture frame frame = camera.read; % Preprocess gr = cv.cvtColor(frame, 'RGB2GRAY'); gr = cv.equalizeHist(gr); % Detect boxes = detector.detect(gr, 'ScaleFactor', 1.3, ... 'MinNeighbors', 2, ... 'MinSize', [30, 30]); % Draw results imshow(frame); for i = 1:numel(boxes) rectangle('Position', boxes{i}, ... 'EdgeColor', 'g'); end pause(0.001); end camera.delete; pause(1); close all