如何在MATLAB 64位中使用Viola Jones算法?

时间:2013-05-01 20:20:56

标签: matlab

如何在MATLAB 64位中使用Voila Jones算法?

close all
clear all
clc
aa = imread('p2.jpg');
ss = rgb2gray(aa);
pos = fdlibmex(ss);

strt(1,1)=pos(1)-(pos(3)/2);
strt(1,2)=pos(2)-(pos(3)/2);

face(1) = strt(1,1);
face(2) = strt(1,2);
face(3) = pos(3);
face(4) = pos(3);

Rectangle = [face(1) face(2); face(1)+ face(3) face(2); face(1) + face(3) face(2) + face(4); face(1)  face(2) + face(4); face(1) face(2)];


figure(1);
imshow (aa);
truesize;
hold on;
plot (Rectangle(:,1), Rectangle(:,2), 'g');
hold off;

未定义函数'fdlibmex'用于'uint8'类型的输入参数。

主要错误(第7行) pos = fdlibmex(ss);

2 个答案:

答案 0 :(得分:1)

试试这个FEX file而不是......

答案 1 :(得分:0)

除了主脚本之外,你应该把这个函数'fdlibmex'放在你的工作目录中。或者您可以使用addpath命令将此函数的路径添加到matlab工作区。

addpath('folder/file.m')

显然你可以将JPG图像作为输入,所以

I = imread('my_image.jpg');
pos = fdlibmex(I);