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

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


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۹-۲۸-۱۳۹۱, ۱۰:۰۲ قبل از ظهر   #1 (لینک دائم)
عضو جدید
 
آواتار aramis2000
 
تاريخ عضويت: مهر ۱۳۹۰
پست ها: 7
تشكرها: 5
0 تشكر در 0 پست
پيش فرض

دستت درد نکنه مهدی جان خیلی بهتر شده ولی یه مسئله ای که است مطابق اولین شکلی که من برا مثال ذکر کردم نیست منظورم اینکه این فقط قسمتی از این بردارهای متعامد رو رسم میکنه نه کلشو من میخوام این بردارها از هر طرف بروی شکل مماس باشن، مثلا من برنامه رو با 2 تا عکس مختلف کردم که بصورت زیر شد.
خط های زرد رو خودم اضافه کردم که ایدال منه و باید اینطوری رسم بشه. راستی اگه بشه مختصات این 4 نقطه رو که با مشکی مشخص کردم پیدا کنم هم میشه این کارو انجام داد،خواستم ببینم ایده ای تو این زمینه داری؟
View image: 1
View image: 2
aramis2000 آفلاين است   پاسخ با نقل قول

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

نشان دهنده تبلیغات is online  
قديمي ۰۹-۲۹-۱۳۹۱, ۰۷:۳۵ بعد از ظهر   #2 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

نقل قول:
نوشته اصلي بوسيله aramis2000 نمايش پست
دستت درد نکنه مهدی جان خیلی بهتر شده ولی یه مسئله ای که است مطابق اولین شکلی که من برا مثال ذکر کردم نیست منظورم اینکه این فقط قسمتی از این بردارهای متعامد رو رسم میکنه نه کلشو من میخوام این بردارها از هر طرف بروی شکل مماس باشن، مثلا من برنامه رو با 2 تا عکس مختلف کردم که بصورت زیر شد.
خط های زرد رو خودم اضافه کردم که ایدال منه و باید اینطوری رسم بشه. راستی اگه بشه مختصات این 4 نقطه رو که با مشکی مشخص کردم پیدا کنم هم میشه این کارو انجام داد،خواستم ببینم ایده ای تو این زمینه داری؟
View image: 1
View image: 2
کافیه تصویرو به اندازه زاویه به دست اومده بچرخونی تا بلندترین ضلع در سطح افق قرار بگیره، یعنی برگ به صورت افقی قرار گیره و بعد پیکسلهای بر روی هر سطر از تصویرو با هم جمع بزن بنابراین در آخر یک بردار n*1 خواهی داشت یعنی 2,sum(image) و بعدش بیشینه بگیر میان این n عدد. اندیس مورد نظر تعیین کننده مکان آن نقطه ای است که مدنظرت است.(اگر برگت دارای پیکسلهای سفید باشند بیشینه وگرنه کمینه)
این کارو از طرف ستون هم انجام بده. یعنی پیکسلهای هر ستون رو با هم جمع بزن sum(image,1) و بعدش بیشینه بگیر
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
aramis2000 (۰۹-۳۰-۱۳۹۱)
قديمي ۰۹-۳۰-۱۳۹۱, ۰۶:۵۴ قبل از ظهر   #3 (لینک دائم)
عضو جدید
 
آواتار aramis2000
 
تاريخ عضويت: مهر ۱۳۹۰
پست ها: 7
تشكرها: 5
0 تشكر در 0 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله mahdiii نمايش پست
کافیه تصویرو به اندازه زاویه به دست اومده بچرخونی تا بلندترین ضلع در سطح افق قرار بگیره، یعنی برگ به صورت افقی قرار گیره و بعد پیکسلهای بر روی هر سطر از تصویرو با هم جمع بزن بنابراین در آخر یک بردار n*1 خواهی داشت یعنی 2,sum(image) و بعدش بیشینه بگیر میان این n عدد. اندیس مورد نظر تعیین کننده مکان آن نقطه ای است که مدنظرت است.(اگر برگت دارای پیکسلهای سفید باشند بیشینه وگرنه کمینه)
این کارو از طرف ستون هم انجام بده. یعنی پیکسلهای هر ستون رو با هم جمع بزن sum(image,1) و بعدش بیشینه بگیر
ایده خوبیه جواب هم میده فقط نقطه ضعفش اینکه هرعکس زاویه متفاوتی نسبت به سطح افق داره و در نتیجه برا هرکدوم باید دستی این زاویه رو تنظیم کرد که این کار مثلا برای 2000 تا عکس خیلی وقت میبره،به هرحال بازم ممنون از راهنماییت تا همینجا هم خیلی کمک کردی کلی چیز یاد گرفتم
aramis2000 آفلاين است   پاسخ با نقل قول
قديمي ۰۹-۳۰-۱۳۹۱, ۰۱:۵۰ بعد از ظهر   #4 (لینک دائم)
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 (۱۲-۳-۱۳۹۱)
قديمي ۱۲-۳-۱۳۹۱, ۱۰:۳۷ قبل از ظهر   #5 (لینک دائم)
عضو جدید
 
آواتار 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 آفلاين است   پاسخ با نقل قول
قديمي ۰۸-۲۰-۱۳۹۳, ۱۱:۵۴ بعد از ظهر   #6 (لینک دائم)
عضو جدید
 
آواتار mozhdeh1234
 
تاريخ عضويت: آبان ۱۳۹۳
پست ها: 3
تشكرها: 0
0 تشكر در 0 پست
پيش فرض درخواست راهنمایی

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

اگه دوست داری میتونی یه نمونه از اون عکس برگهاتو بذاری . فکر میکنم خیلی ساده تر از اینها بتونی اون کارهایی رو که میخوای بشه انجام داد
smkh1985 آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 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 - 2025, 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