Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > پردازش تصویر > پردازش تصوير رقمي(Digital Image Processing)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۹-۳۰-۱۳۹۱, ۰۱:۵۰ بعد از ظهر   #11 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

خواهش می کنم من نگفتم این کارو برای تک تک تصاویر دستی انجام بدی. تو می تونی از همون بردارهای ویژه استفاده کنی و زاویه رو به دست بیاری. مثلا بردارهای ویژه ات اگه باشن (0.7071,0.7071) , (0.7071,0.7071-) ---> (x,y)
در این صورت tetta=atan2(v(2,2),v(1,2))*180/pi یعنی
tetta=atan2(y,x)*180/pi
که به همین اندازه می چرخونی در جهت منفی
res_image=imrotate(BW2,-tetta);
و بعد اون کارا رو می کنی
اینم کدش
clc
clear all
close all
Image = imread('33.jpg');
if(ndims(Image==3))
Image=rgb2gray(Image);
end
%%
%Image=imresize(Image,0.25);
dImage = im2double(Image);
logicalImage = im2bw(dImage, 0.9);
BW=imcomplement(logicalImage);
BW2 = bwareaopen(BW,30);
%BW2 = bwmorph(BW,'remove'); % get the contour
%%
[rr cc]=find(BW2==1);

Y=-rr;
X=cc;
xc=mean(X);
yc=mean(Y);
xx=X-xc;
yy=Y-yc;
co=cov([xx yy]);
[v d]=eig(co);
%%-------------------------------------------------------------------------
length_diam1=2*sqrt(d(1,1))*v(:,1); % the length of diameter
length_diam2=2*sqrt(d(2,2))*v(:,2); % the length of diameter
figure;
plot(xx,yy,'.b');
hold on;plot([0,length_diam1(1)],[0,length_diam1(2)],'r');
hold on;plot([0,length_diam2(1)],[0,length_diam2(2)],'r');
%%-------------------------------------------------------------------------
xlim([-400,400])
ylim([-400,400])
%%
%res_image=imcomplement(dImage);
tetta=atan2(v(2,2),v(1,2))*180/pi;
res_image=imrotate(BW2,-tetta);
[row,col]=size(res_image);
[mxc,indc]=max(sum(res_image,1));
[mxr,indr]=max(sum(res_image,2));
%%-------------------------------------------------------------------------
p1.x=find(res_image(indr,==1,1);
p1.y=indr;
p2.x=col-find(res_image(indr,end:-1:1)==1,1)+1;
p2.y=indr;
p3.y=find(res_image(:,indc)==1,1);
p3.x=indc;
p4.y=row-find(res_image(end:-1:1,indc)==1,1)+1;
p4.x=indc;

figure;imshow(mat2gray((res_image)));
%%-------------------------------------------------------------------------
hold on;plot(p1.x,p1.y,'*','markersize',10);
hold on;plot(p2.x,p2.y,'*','markersize',10);
hold on;plot(p3.x,p3.y,'*','markersize',10);
hold on;plot(p4.x,p4.y,'*','markersize',10);
hold on;plot([p1.x,p2.x],[p1.y,p2.y],'--r');
hold on;plot([p3.x,p4.x],[p3.y,p4.y],'--r');
%%-------------------------------------------------------------------------
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
aramis2000 (۱۲-۳-۱۳۹۱)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

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

سلام مهدی جان آقا من خیلی وقت نیومدم اینجا سر بزنم دستت درد نکنه کدت جواب داد و خیلی هم خوب جواب داد.همونطور که قبلا گفتم ای برا یه قسمت از پروژم بود، حالا باید روش انجام این کارو بطور ریاضی وار شرح بدم و از اونجایی که من پردازش تصویرم در سطح مبتدیه یه چندتا سوال داشتم .اگه زحمتی نیست برات یه کمکی به من بکن یا اگه وقت نداری چندتا رفرنس معرفی کن من بخونم.

1-چرا ما مرکز شکل رو مرکز مختصات قرار دادیم و بعد کواریانس گرفتیم؛نمیشد از همون X,Y کواریانس گرفت؟
Y=-rr;علامت منفی اینجا چه حکمی داره؟شکل رو نسبت به Y قرینه میکنه؟
X=cc;
2-میشه توضیح بدی در چطوری زاویه tetta رو با استفاده از بردار ویژه پیدا می کنی؟بصورت یه مثال ساده ریاضی وار
tetta=atan2(v(2,2),v(1,2))*180/pi;آیا در دو بردار یک جواب رو میده؟یعنی فرق نمیکنه کدومو بزاریم؟
res_image=imrotate(BW2,-tetta);چرا tetta- باید باشه؟چرا در جهت مثبت نمی چرخونیم ؟

این زاویه tetta بین بردار ویژه و کدوم محوره، اینو لازم دارم چون برا 2تا از برگ ها زاویه رو درست بدست نیورده

http://s18.postimage.org/uidawvct5/untitled1.png
http://s16.postimage.org/wo6n1cdo5/untitled2.png
aramis2000 آفلاين است   پاسخ با نقل قول
قديمي ۰۸-۲۰-۱۳۹۳, ۱۱:۵۴ بعد از ظهر   #13 (لینک دائم)
عضو جدید
 
آواتار mozhdeh1234
 
تاريخ عضويت: آبان ۱۳۹۳
پست ها: 3
تشكرها: 0
0 تشكر در 0 پست
پيش فرض درخواست راهنمایی

سلام
من دارم در مورد پیدا کردن ابعاد یک شکل (طول عرض ارتفاع ) تحقیق میکنم استادم دو حالت رو برای تحقیق بهم پیشنهاد داده یکی شی وقتی طولش از طول تصویر کمتر هست و دیگری زمانی که طول شی از طول تصویر بیشتر . استادم ازم خواسته که روشهای بدست آوردن طول شی در این دو حالت رو پیدا کنم . لطفا راهنماییم کنید از کجا باید شروع کنم من هیچ اطلاعاتی ندارم . راستی باید با #c پیاده سازی کنم چیزی رو که دنبالش هستم
mozhdeh1234 آفلاين است   پاسخ با نقل قول
قديمي ۰۹-۸-۱۳۹۳, ۰۸:۱۴ بعد از ظهر   #14 (لینک دائم)
عضو فوق فعال
 
آواتار smkh1985
 
تاريخ عضويت: آذر ۱۳۹۳
پست ها: 63
تشكرها: 0
20 تشكر در 19 پست
پيش فرض

اگه دوست داری میتونی یه نمونه از اون عکس برگهاتو بذاری . فکر میکنم خیلی ساده تر از اینها بتونی اون کارهایی رو که میخوای بشه انجام داد
smkh1985 آفلاين است   پاسخ با نقل قول
قديمي ۰۹-۱۱-۱۳۹۳, ۰۱:۱۰ قبل از ظهر   #15 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

من متوجه نشدم! طول شی که از طول تصویر کمتر است بیشتر است؟!!!
واضح توضیح بدین!
mahdiii آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 
ابزارهاي تاپيک
نحوه نمايش

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۷:۳۳ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design