ربط Excel بالــ matlab


اريد المساعده فى ربط Excel بالـ matlab
فلقد طبقت تعليمه xlswrite
لتخزيبن الـ features “السمات” لصور المخزنه فى work
وبعد تطبيقها
تم التخزين فى Excel
قفط صف واحد و9 اعمده
وهذه هى التعليمه

 
 
[CENTER][SIZE=4][COLOR=purple]xlswrite('all_parameter', [m sgma v k sk md uniform uniform1 uniform3])[/color][/size][/center]
 
 

وهذه التعليمه داخل for من 1 الى 220

انا اريده ان يخزن 9 اعمده والتى تمثل عدد السمات
220صف والذى يمثل عدد الصور المخزنه فى work

طلبى هو : كيف اجعله يخزن سمات جميع الصور فى Excel

*وهل استطيع تخزين الصور الموجوده فى الـwork فى الــExcel
وتخزين اسماء الاشخاص اصحاب الصور
والسمات ايضا فى ملف Excel واحد

*وجعل الماتلاب ياخذ كل صوره جديده ويحسب لها السمات
ويقارنها بالسمات المخزنه فى الـ Excel
باستخدام داله corr2 لكل صف
وعند تطابق احد الصفوف مع سمات الصوره المدخله تماما
يظهر بيانات الشخص المخزنه بالـ Excel
ووقت الذى تم فيه ادخالها والتعرف عليها

اتمنى ممن لديه معرفه فى هذا الموضوع حتى لو بسيطه
ان يساعدنى

تمنياتى للجميع بالتوفيق
تحياتى
غــلا

تستطيعين عمل كل ذلك تقريبا
ولكن كيف يخزن الصور في الاكسل هذا ما لا افهمه

انا اريد الماتلاب فقط للواجهات ولحساب السمات لذلك اريد الصور تكون مخزنه فى الاكسل
واذا كان حساب السمات وتخزينها فى الاكسل يكفى لمعرفه البصمه وتميزها ومعرفه هى لمن…فهذا هو المهم

يا بشمهندسه كده انتي عاوزه الاكسل يشتغل كقاعده بيانات ودي اصلا مش من امكانيات الاكسل

عامه انا هحاول اعملك طلبك بس سؤال صغير

ايه هي السمات اللي عاوزه تسجليها

ربنا يوفقك

انا المهم عندى انه السمات تتخزن كمصفوفه واقدر اقارن بينهم وبين السمات لصوره الجديده بتعليمه corr2
واظهر بيانات الشخص صاحب الصوره
حاولت اعملها بالماتلاب ما انعملت كلها
ففكرت اربطه بالاكسل
وتخزنت
عدا الصور و السمات لم تتخزن الا سمات الصوره الاخيره فقط
السمات التى اريد حسابها
1-المتوسط mean
2-الوسيط median
3-الانحراف المعيارى standard deviation
4-مقياس الالتواء skewness
5-التفلطح kurtosis
6-الاختلاف variance
7-uniform للمصفوفات rgb
فتصبح عدد الاعمده 9
وعملت smoothness ولكن خزنت اصفار كثيره فالغيتها

يا بشمهندسه من فضلك

قوانين السمات اللي عاوزاها انا معرفهاش

فياريت القوانين للسمات مش لازم كلهم حتي

بس عشان اقدر اجرب عليهم

وان شاء الله يبقي فيه بصيص امل

الله يوفقك

قوانبن السمات بكتب 1 مشان ما تتعذب معى
1-المتوسط
مجموع القيم / عددها
وفى داله جاهزه فى الماتلاب mean
وكذالك للانحراف std
ومشكووووووووور جدا

يا بشمهندسه انا اعتبرت المتوسط هو مجموع قيم المصفوفه مقسومه علي عدد ارقامها

وبعدين مبدئيا عملت الكود ده للتجربه بس شوفيه وان شاء الله اتوقع انه ممكن يوصلك لمرادك

بفرض ان عندك فولدر فيه مجموعه من الصور هتشغلي الكود هيطلب منك صوره اختاري اي صوري من الفولدر اللي فيه الصور

     


clear
[b,a]=uigetfile({'*.jpg';'*.bmp';'*.png';'*.gif';'*.pbm';'*.pcx';'*.pgm';'*.pnm';'*.tif';'*.*'},'Select Photo');
info = imfinfo([a b]);
forma=info.Format;
f=dir(fullfile(a,['*' '.' forma]));
l=length(f);
s=['.' forma];
for i=1:l
    phot=imread([a f(i).name]);
    r=sum(sum(sum(phot)));
    [q,w]=size(phot);
    e=r/(q*w);   %mean
    mean(i,1)=e
    
end














الاخت العزيزه
اولا للتغلب على مشكلة التخزين نعمل الاتي :
انا افترضت تكون للصورة الاولى الارقام من واحد الى 9 وللصورة الثانية من 2 الى 10 والثالثه وهكذا …
ثم اردت تخزينها في ملف اسميته ريسلتز وفي ورقه عمل اسميتها شيت ون
شوفي الكود :

[FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2]
clc
clear
[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]for[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2][COLOR=#000000] i=1:5[/color]
x=i:i+8
first=strcat([/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'A'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],num2str(i));
xlswrite([/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'results'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],x,[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0][FONT=Courier New][SIZE=2][COLOR=#a020f0]'sheet1'[/color][/size][/font][/color][/size][/font][/color][/size][/font][FONT=Courier New][SIZE=2][FONT=Courier New][SIZE=2],first)

[/size][/font][/size][/font][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff][FONT=Courier New][SIZE=2][COLOR=#0000ff]end
[/color][/size][/font][/color][/size][/font][/color][/size][/font]

ما عليكي ان تدمجي الكود على برنامجك بحيث تكون الارقام المخزنه هي السمات الحقيقيه
فهمت ؟؟؟

انا جاهز للتساؤلات
باذن الله

[CENTER]مشكور مهندس ايجيبت
لكن لدى استفسار
اولا : هل من الممكن جعل الملف محدد فى البرنامج (اى ان البرنامج لا يطلب منى اختيار المجلد)

ثانيا:اتمنى لو تشرح لى الكود لانى طبقته و تنفذ بس ما فهمت فكرته
مشان اغيره على اساس المشروع
لك كل الشكر على المساعده وجعلها الله فى موازين حسناتك[/center]

مشكور مهندس سعود
هذا الكود بعد ما دمجته مع الربط
بس طلع فيه خطأ وما تنفذ

 
[LEFT][SIZE=1][COLOR=purple]clc[/color][/size]
[SIZE=1][COLOR=purple]clear[/color][/size]
[SIZE=1][COLOR=purple]clear all[/color][/size]
[SIZE=1][COLOR=purple]for d=1:10[/color][/size]
[SIZE=1][COLOR=purple]name=strcat('image',int2str(d),'\image',int2str(d),'.jpg');[/color][/size]
[SIZE=1][COLOR=purple]im=imread(name); [/color][/size]
[SIZE=1][COLOR=purple]for w=1:21[/color][/size]
[SIZE=1][COLOR=purple] if w<=10[/color][/size]
[SIZE=1][COLOR=purple]im=imresize(im, [200 200]);[/color][/size]
[SIZE=1][COLOR=purple]im=imread (strcat('image11\',int2str(d),'\image00', int2str(w),'.jpg'));[/color][/size]
[SIZE=1][COLOR=purple] elseif w<=21[/color][/size]
[SIZE=1][COLOR=purple]for ee=350:360[/color][/size]
[SIZE=1][COLOR=purple]im=imread(strcat('image11\',int2str(d),'\image', int2str(ee),'.jpg'));[/color][/size]
[SIZE=1][COLOR=purple]end[/color][/size]
[SIZE=1][COLOR=purple] end[/color][/size]
[SIZE=1][COLOR=purple] end[/color][/size]
[SIZE=1][COLOR=purple]end[/color][/size]
[SIZE=1][COLOR=purple]for u=1:220[/color][/size]
[SIZE=1][COLOR=purple]im=imresize(im, [200 200]);[/color][/size]
[SIZE=1][COLOR=purple]i=double(im);[/color][/size]
[SIZE=1][COLOR=purple]id=i(:);[/color][/size]
[SIZE=1][COLOR=purple]m=mean(id);[/color][/size]
[SIZE=1][COLOR=purple]sgma=std(id);[/color][/size]
[SIZE=1][COLOR=purple]v=var(id);[/color][/size]
[SIZE=1][COLOR=purple]k=kurtosis(id);[/color][/size]
[SIZE=1][COLOR=purple]sk=skewness(id);[/color][/size]
[SIZE=1][COLOR=purple]md=median(id);[/color][/size]
[SIZE=1][COLOR=purple]f1=i(:,:,1);[/color][/size]
[SIZE=1][COLOR=purple]f2=i(:,:,2);[/color][/size]
[SIZE=1][COLOR=purple]f3=i(:,:,3);[/color][/size]
[SIZE=1][COLOR=purple]h1=imhist(f1);[/color][/size]
[SIZE=1][COLOR=purple]h2=imhist(f2);[/color][/size]
[SIZE=1][COLOR=purple]h3=imhist(f3);[/color][/size]
[SIZE=1][COLOR=purple]k1=size(h1);[/color][/size]
[SIZE=1][COLOR=purple]u=0;[/color][/size]
[SIZE=1][COLOR=purple]u1=0;[/color][/size]
[SIZE=1][COLOR=purple]u2=0;[/color][/size]
[SIZE=1][COLOR=purple]for i=1:k1[/color][/size]
[SIZE=1][COLOR=purple]u=u+h1(i).^2;[/color][/size]
[SIZE=1][COLOR=purple]u2=u2+h3(i).^2;[/color][/size]
[SIZE=1][COLOR=purple]u1=u1+h2(i).^2;[/color][/size]
[SIZE=1][COLOR=purple]end[/color][/size]
[SIZE=1][COLOR=purple]uniform=u;[/color][/size]
[SIZE=1][COLOR=purple]uniform1=u1;[/color][/size]
[SIZE=1][COLOR=purple]uniform3=u2;[/color][/size]
[SIZE=1][COLOR=purple]end[/color][/size]
[SIZE=1][COLOR=purple]for z=1:10[/color][/size]
[SIZE=1][COLOR=purple]aa={name};[/color][/size]
[SIZE=1][COLOR=purple]aa1=cell({'ghlaa','eman','mona','nuha','majdah','maha','farah','reem','abrar','bodoor'});[/color][/size]
[SIZE=1][COLOR=purple]aa2=cell({'Management','Accountings','Engineering','Maintenance','Blueprints','Security','Indentures and Purchases','Projects','Affairs of Staffers','Inspecting and Vetting on Products'});[/color][/size]
[SIZE=1][COLOR=purple]aa3=cell({'Manager','Staffer','Manager of Dept','Staffer','Assignee','Monitored','Staffer','Manager','Secretary','Staffer'});[/color][/size]
[SIZE=1][COLOR=purple]end[/color][/size]
[SIZE=1][COLOR=purple]a={'name of image','name','Department','job','m','sgma','v','k','sk','md','uniform','uniform1','uniform3';aa(z),aa1(z),aa2(z),aa3(z),m,sgma,v,k,sk,md,uniform,uniform1,uniform3};[/color][/size]
[SIZE=1][COLOR=purple]for i=1:230[/color][/size]
[SIZE=1][COLOR=purple]x=a;[/color][/size]
[SIZE=1][COLOR=purple]first=strcat('A',num2str(i));[/color][/size]
[SIZE=1][COLOR=purple]xlswrite('results',x,'sheet1',first)[/color][/size]
[SIZE=1][COLOR=purple]end[/color][/size][/left]
 

لا اعلم ما الخطأ
ثانيا: شو Aالموجوده داخل strcat (السطر شو فايدته)

مشكوووووووور جدا على المساعده والله يجازيك كل خير

لا استطيع ايجاد الخطأ الا اذا كتيتيه لنا

A الموجود ه تمثل موقع بداية التخزين في الاكسل وكل مرة تتغير من A1 الى A2 الى … A10

السلام عليكم ورحمه الله وبركاته
الخطأ هو
??? Index exceeds matrix dimensions.

انسخي رسالة الخطأكاملة

اظن ان الخطأ في اخر فوور لووب
لماذا من واحد الى 230
اظن انها من واحد الى10

رساله الخطأ هذه كامله

??? Index exceeds matrix dimensions.

لان انا اريده يخزن السمات ل230 صوره
10 صور الاساسيه
وايضا لتدوير كل صوره وهو 22

غيرت الــfor الاخيره من 1 الى 10
وايضا ظهر نفس الخطأ

??? Index exceeds matrix dimensions.