اقتباس:
المشاركة الأصلية كتبت بواسطة khawla MI
السلام عليكم
اود تعلم كيفية ادراج الmex function الى برنامج ماتلاب ادا كان ممكن يا أخي جمال و يا أخي فيصل و يا كل من لديه معلومة امدادي بمثال سهل يمككني فهمه
مثلا مادا افعل لو اردت كتابة هادا الكود و مناداته في الماتلاب عن طريق ال mex file
كود:
function k = Interpoler(I,x,y,q)
[X,Y]=size(I);
switch q
case 1
[m,n] = size(I);
x1 = round(x); x1 = max(x1,1); x1=min(x1,m);
y1 = round(y); y1 = max(y1,1); y1=min(y1,n);
k = I(x1,y1);
case 2
n=floor(x);n=max(n,1);n=min(n,X-1);
m=floor(y);m=max(m,1);m=min(m,Y-1);
sigma_x=x-n;
sigma_y=y-m;
k=(1-sigma_x)*(1-sigma_y)*I(n,m)+sigma_x*(1-sigma_y)*I(n+1,m)+(1-sigma_x)*sigma_y*I(n,m+1)+sigma_x*sigma_y*I(n+1,m+1);
otherwise
disp('invalide data');
end
c'est un programme qui fait l'interpolation d'une image
a titre d'exemple
merci d'avance
|
عذرا على التاخير لانني ظننت ان الموضوع فقد اهميته
شوفي
les mex files ce sont des fichiers ecrits en C ou fortran avec une syntaxe légèrement différente au langage c ou fortran standard
par exemple votre fonction interpoler.c
tapez la commande mex interpoler.c ,dans command window, et vous aurez une nouvelle fonction sous forme .dll (selon la version du matlab et le système d'exploitation) dans votre cas interpoler.dll
il suffit d'appeler cette fonction dans le programme principal
a l’égard des exemples il y en a beaucoup sur le net............
si il y a quoi que ce soit n'hésitez pas a demander