|
|
|||||||
| منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل... |
في حال وجود أي مواضيع أو ردود
مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة
( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .
| آخر المواضيع |
|
comment résoudre ce probleme dans matlab
|
|
أدوات الموضوع | انواع عرض الموضوع |
|
|
رقم المشاركة : 1 | ||||
|
السلام عليكم كود:
global nx
global ny
global dx
global dy
global PD
I=imread('lena.jpg');
I=rgb2gray(I);%I est une image
[X Y]=size(I);
J= zeros(X,Y); %Image interpolée
dx = 26;dy = 26;
Tdx = 0:dx:X-1;Tdx = [dx , Tdx, X-1, X-1+dx];
Tdy = 0:dy:Y-1;Tdy = [dy , Tdy, Y-1, Y-1+dy];
nx = length(Tdx);ny = length(Tdy);
PD = zeros(nx*ny,2);
k=1;
for i=1:length(Tdx)
for j=1:length(Tdy)
PD(k,1)=round(Tdx(i)); PD(k,2)=round(Tdy(j));
k=k+1;
end
end
for x=1:X,
for y=1:Y,
T=Interpolation(x-1,y-1) + 1 ;
x1 = max(round(x),1); x1=min(x1,X);
y1 = max(round(y),1); y1=min(y1,Y);
J(x,y) = I(x1,y1);
end
end
كود:
function Inter = Interpolation(x,y) global nx global ny global dx global dy global PD i = floor(x/dx)-1; j = floor(y/dy)-1; u=(x/dx)-floor(x/dx); v=(y/dy)-floor(y/dy); Inter =[0,0]; for l=0:3 for m=0:3 k = (i+l+1)*nx + (j+m+2); Inter = Inter + Auxiliaire(u,l)*Auxiliaire(v,m).*PD(k,:); end end كود:
function A = Auxiliare(x,i)
switch i
case 0
A=((1-x).*(1-x).*(1-x))/6;
case 1
A=(3*x.*x.*x - 6*x.*x + 4)/6;
case 2
A=(-3*x.*x.*x + 3*x.*x + 3*x +1)/6;
case 3
A=x.*x.*x/6;
otherwise
disp('entré non valide.')
end
merci d'avance
|
||||
|
| الكلمات الدلالية (Tags) |
| comment, dans, matlab, probleme, resoudre |
|
|
المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية
Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc