نمايش پست تنها
قديمي ۰۹-۲۷-۱۳۹۱, ۰۲:۳۳ بعد از ظهر   #5 (لینک دائم)
aramis2000 Male
عضو جدید
 
آواتار aramis2000
 
تاريخ عضويت: مهر ۱۳۹۰
پست ها: 7
تشكرها: 5
0 تشكر در 0 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله mahdiii نمايش پست
X نشان دهنده مختصات x یا همون ستونهای پیکسل های پیرامونته که هست n*1
Y نشان دهنده مختصات y یا همون سطرهای پیکسل های پیرامونته که هست n*1
پس باید xc رو که میانگین x هاست از X کم کنی و همچنین yc رو که میانگین y هاست از Y کم کنی یعنی
xc=mean(X)
yc=mean(Y)
XX=X-xc
YY=Y-yc
XX , YY بردارهای مربوط به xها و yهاست که الآن نرمالیزه شده اند و اگه میانگین اونها رو حساب کنی میشه 0و0 (zero mean)
حالا یه ماتریس n*2 ایجاد می کنی به این صورت که ستون اولش x ها و ستون دومش yهاست یعنی
[XX,YY]
و کواریانس اونو حساب می کنی همون طوری که گفتم و بعدش بردارهای ویژه و مقادیر ویژشو تو متلب با eig
که بهت بردار ویژه و مقادیر ویژه رو برمی گردونه
یه راهی به نظرم رسید که ساده تره شاید، اینه که فاصله هر نقطه روی پیرامونو تا تک تک نقاط محاسبه کن که میشه با مرتبه زمانی n2 بعدش اون دونقطه ای که بیشترین فاصله رو دارند میشه همون قطر اصلیت و عمود بر این قطر میشه قطر دیگت. این روش شاید برای همه برگها جواب نده و خطا داشته باشه. باید تست کنی
خیلی ممنون از توجهت مهدی جان
من اون چیزی رو که از حرفات متوجه شدم انجام دادم ولی باز به نتیجه نرسیدم.نمیدونم شاید کار من مشکل داشته. برنامه رو میزارم اگه زحمتی نیست برات یه چک بکن ببین اشکال کار من کجاست.
من یک بار اندازه طول و عرض رو با imtool گرفتم به ترتیب 377 و 305 و یک بارم توسط کدی که نوشتم که جواب هاش کلی با این عددها فرق داشت.
در ضمن اونجایی که گفتی XX , YY بردارهای مربوط به xها و yهاست که الآن نرمالیزه شده اند و اگه میانگین اونها رو حساب کنی میشه 0و0 (zero mean)، من امتحان کردم zero mean نشد.
clc
clear all
Image = imread('IM.jpg');
Image=imresize(Image,0.25);
dImage = im2double(Image);
logicalImage = im2bw(dImage, 0.75);
BW=imcomplement(logicalImage);
BW = bwareaopen(BW,30);
BW2 = bwmorph(BW,'remove'); % get the contour
[X Y]=find(BW2==1);
xc=mean(X);
yc=mean(Y);
xx=X-xc;
yy=Y-yc;
r=[xx yy];
co=cov(r);
[v d]=eig(co)
اینم لینک عکس یک برگ برای نمونه
http://s13.postimage.org/q70lk4u2f/image.jpg
aramis2000 آفلاين است   پاسخ با نقل قول