رفتن به مطلب

پست های پیشنهاد شده

ســلام:4564:

یه تصویر رنگیو قراره تو کانال RGB بخونم بعد قسمتی رو براساس رنگ جدا کنم.

این تمرینا واسه درس گرافیک کامیپوتری کارشناسیه منم زیاد به پردازش تصویر تو متلب وارد نیستم ممنون می شم که کمکم کنید :hanghead::icon_gol:

 

سلام

خب با imread می تونی تصویرت رو بخونی، یه ماتریس بهت میده با ابعاد m در n در 3، که خب m و n تعداد سطر و ستون های ماتریس یا به عبارتی تعداد پیکسل ها در جهت عمودی و افقی هستش، اون 3 آخر هم سه تا کانال R و G و B رو مشخص می کنه، البته همه اینا در صورتی هست که تصویر ورودی هم RGB باشه. اما وقتی بخوایم یه قسمتی رو بر اساس رنگ جدا کنیم باید واسه هر کدوم از این کانالا یه محدوده تعریف کنیم، بگیم مثلا رنگ یا رنگای مورد نظرمون، محدوده مولفه قرمزش باید بین این دو مقدار باشه، همینطور برای مقادیر کانال های سبز و آبی، در نهایت هم در نهایت هم این سه تا ماتریس رو به صورت منطقی با هم and می کنیم، یعنی هر سه شرط رو داشته باشه.:a030:

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

خب با imread می تونی تصویرت رو بخونی، یه ماتریس بهت میده با ابعاد m در n در 3، که خب m و n تعداد سطر و ستون های ماتریس یا به عبارتی تعداد پیکسل ها در جهت عمودی و افقی هستش، اون 3 آخر هم سه تا کانال R و G و B رو مشخص می کنه، البته همه اینا در صورتی هست که تصویر ورودی هم RGB باشه. اما وقتی بخوایم یه قسمتی رو بر اساس رنگ جدا کنیم باید واسه هر کدوم از این کانالا یه محدوده تعریف کنیم، بگیم مثلا رنگ یا رنگای مورد نظرمون، محدوده مولفه قرمزش باید بین این دو مقدار باشه، همینطور برای مقادیر کانال های سبز و آبی، در نهایت هم در نهایت هم این سه تا ماتریس رو به صورت منطقی با هم and می کنیم، یعنی هر سه شرط رو داشته باشه.:a030:

 

موچکــــر :5c6ipag2mnshmsf5ju3

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

یه ســوال دیگه :hanghead:

wavelet و چطور باید به دو روش هار و wavelet packet انجام بدم ؟:5c6ipag2mnshmsf5ju3

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام،

من میخواستم یه قسمت از یه مقاله رو پیاه سازی کنم، اما متوجه شدم چرا خواسته مجموعه A این شکلی باشه. متاسفانه سورسش متعلق به یه پایان نامس و من نتونستم دانلودش کنم.

میخواستم ببینم کسی از دوستان میدونه چرا باید این مجموعه اینجوری باشه؟

av1kgsbb5o8ecfrs7os.png

 

سلام

ببخشید سوالتون رو ندیده بودم، خب اینجا ضریب dc رو در نظر نگرفته (0,0)، از بقیه ضرایب هم ستون اول و سطر اول رو برداشته، به اضافه این (1.1) و (1,2) و (2,1)، باقی ضرایب که فرکانس بالاتری دارن رو هم حذف کرده. شاید به این خاطر باشه که تاثیر کمتری داشته باشن و مقادیرشون کوچیک هستش.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

ببخشید سوالتون رو ندیده بودم، خب اینجا ضریب dc رو در نظر نگرفته (0,0)، از بقیه ضرایب هم ستون اول و سطر اول رو برداشته، به اضافه این (1.1) و (1,2) و (2,1)، باقی ضرایب که فرکانس بالاتری دارن رو هم حذف کرده. شاید به این خاطر باشه که تاثیر کمتری داشته باشن و مقادیرشون کوچیک هستش.

 

خیلی ممنون از جوابتون:icon_gol:

میشه یه سوال دیگه بپرسم، من نمیدونم چطور شرط عضو بودن تو مجموعه A رو تست کنم:banel_smiley_4:

کلی فک کردم اما ندونستم چطور میتونم از توابع متلب استفاده کنم!

من یه کد نوشتم میشه شما نیگا کنید ببینید درسته؟! آیا میشه ساده تر باشه، خیلی ممنون:icon_gol:


img=imread('1.jpg');
DCT=dct2(img);
B=zeros(8,8);
B(1,2:1:5)=1;
B(2,1:1:3)=1;
B(3,1:1:2)=1;
B(4,1)=1;B(5,1)=1;
L1=1;
h1=8;
for m=1:64
L=1;
h=8;
for c=1:64
A(L1:h1,L:h)=B;
h=h+8;
L=L+8;
end;
L1=L1+8;
h1=h1+8;
end;
SUM=0;
for i=1:512
for j=1:512
n=A(i,j);
if n==1
SUM=SUM+DCT(i,j);
end;
end;
end;

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
خیلی ممنون از جوابتون:icon_gol:

میشه یه سوال دیگه بپرسم، من نمیدونم چطور شرط عضو بودن تو مجموعه A رو تست کنم:banel_smiley_4:

کلی فک کردم اما ندونستم چطور میتونم از توابع متلب استفاده کنم!

من یه کد نوشتم میشه شما نیگا کنید ببینید درسته؟! آیا میشه ساده تر باشه، خیلی ممنون:icon_gol:


img=imread('1.jpg');
DCT=dct2(img);
B=zeros(8,8);
B(1,2:1:5)=1;
B(2,1:1:3)=1;
B(3,1:1:2)=1;
B(4,1)=1;B(5,1)=1;
L1=1;
h1=8;
for m=1:64
L=1;
h=8;
for c=1:64
A(L1:h1,L:h)=B;
h=h+8;
L=L+8;
end;
L1=L1+8;
h1=h1+8;
end;
SUM=0;
for i=1:512
for j=1:512
n=A(i,j);
if n==1
SUM=SUM+DCT(i,j);
end;
end;
end;

 

خواهش می کنم، خب اینجور که متوجه شدم اول می خواین ماتریس B رو به اندازه تصویر تکرار کنین، خب با repmat راحت می تونین اینکار رو انجام بدین، بعد هم توی ضرایب DCT ضربش کنین دیگه، الان فقط ضرایبی که شامل میشن رو داریم:

 

img=imread('1.jpg');
DCT=dct2(img);
B=zeros(8,8);
B(1,2:1:5)=1;
B(2,1:1:3)=1;
B(3,1:1:2)=1;
B(4,1)=1;B(5,1)=1
A = repmat(B,[64 64]);
DCT_A = A.*DCT;

 

البته این کد رو اجرا نگرفتم.

حلقه آخر رو متوجه نشدم برای چی نوشتین، می خواین جمع کلش رو بدست بیارین؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
خواهش می کنم، خب اینجور که متوجه شدم اول می خواین ماتریس B رو به اندازه تصویر تکرار کنین، خب با repmat راحت می تونین اینکار رو انجام بدین، بعد هم توی ضرایب DCT ضربش کنین دیگه، الان فقط ضرایبی که شامل میشن رو داریم:

 

img=imread('1.jpg');
DCT=dct2(img);
B=zeros(8,8);
B(1,2:1:5)=1;
B(2,1:1:3)=1;
B(3,1:1:2)=1;
B(4,1)=1;B(5,1)=1
A = repmat(B,[64 64]);
DCT_A = A.*DCT;

 

البته این کد رو اجرا نگرفتم.

حلقه آخر رو متوجه نشدم برای چی نوشتین، می خواین جمع کلش رو بدست بیارین؟

خیلی ممنون، بسیار عالی:icon_gol::icon_gol:

عه چه جالب، یادم نبود میتونم ضرایب رو باهاش ضرب کنم.:a030:

بعله طبق اون فرمول بالا جمع این ضرایب میشه پیچیدگی تصویر.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من یه تولباس خوندن تصویر دارم که Phil Sallee نوشته، یه بار ازین تولباکس استفاده کردم و یه بار دیگه از تابع خود متلب استفاده کردم.

برای اینکه از تصویری که با استفاده از imread خوندم، تبدیل dct بگیرم، از تابع خود متلب، dct2، استفاده کردم. و برای اون تصویری که با تولباکس خوندم از یه روش دیگه استفاده کردم:


img=imread('1.jpg');
DCT=dct2(img);
-----------------------
jobj = jpeg_read('1.jpg'); % JPEG image structure
DCT = jobj.coef_arrays{1};

حالا هر کدوم یه نتیجه ی مختلف میدن، من نمیدونم از کدوم استفاده کنم؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

من یه تولباس خوندن تصویر دارم که Phil Sallee نوشته، یه بار ازین تولباکس استفاده کردم و یه بار دیگه از تابع خود متلب استفاده کردم.

برای اینکه از تصویری که با استفاده از imread خوندم، تبدیل dct بگیرم، از تابع خود متلب، dct2، استفاده کردم. و برای اون تصویری که با تولباکس خوندم از یه روش دیگه استفاده کردم:


img=imread('1.jpg');
DCT=dct2(img);
-----------------------
jobj = jpeg_read('1.jpg'); % JPEG image structure
DCT = jobj.coef_arrays{1};

حالا هر کدوم یه نتیجه ی مختلف میدن، من نمیدونم از کدوم استفاده کنم؟

 

سلام

به نظر با توجه به این کدی که گذاشتین، دومیه همون ضرایب ذخیره شده تصویر رو بهتون میده، اما واسه متلب دوباره از روی تصویر میاد ضرایب رو حساب می کنه، کاری به فرمتش نداره.

 

چقدر اختلاف دارن؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

به نظر با توجه به این کدی که گذاشتین، دومیه همون ضرایب ذخیره شده تصویر رو بهتون میده، اما واسه متلب دوباره از روی تصویر میاد ضرایب رو حساب می کنه، کاری به فرمتش نداره.

 

چقدر اختلاف دارن؟

این واسه سالی هس:

jhk6hzfn7hrrghwhgk5x.jpg

اینم واسه متلب:

06k0gfze8crv01me3da6.jpg

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

یه سوال؟

میشه دیتاهایی که با متلب ذخیره کردیمو با اکسل وا کنیم؟

مثلا من یه ماتریس دارم حالا میخوام اینو با اکسل بازش کنم، چون میخوام feature selection انجام بدم که این کارو قراره تو اکسل انجام بدم، اما نمیدونم میشه یا نه!

ممنون میشم کمک کنین؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

یه سوال؟

میشه دیتاهایی که با متلب ذخیره کردیمو با اکسل وا کنیم؟

مثلا من یه ماتریس دارم حالا میخوام اینو با اکسل بازش کنم، چون میخوام feature selection انجام بدم که این کارو قراره تو اکسل انجام بدم، اما نمیدونم میشه یا نه!

ممنون میشم کمک کنین؟

 

سلام

فایلا رو با فرمت xls یا xlsx سیو کنین، برای اینکار هم از دستور xlswrite باشد استفاده بشه.

میشه دستی هم کپی کرد، متغیر رو از داخل ورک اسپیس باز کنین، کل قسمتیش رو که می خواین تو اکسل داشته باشین رو انتخاب کنین، بعد هم که Ctrl + C و داخل فایل اکسلتون paste کنین.:a030:

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوستان منم میخوام یه تصویر 64*64 را داخل svd یک تصویر 128*128 جاسازی کنم.مشکلم اینجاست مقادیر منفرد ماتریس svd حداکثر 128 تاست. فرمول جاسازی اطلاعات من برابر s=s+aw است. که w همان تصویر 64*64 است. و s مقادیر ماتریس منفرد هست. کسی می داند چطور این کار انجام می شود؟!!! واقعا ممنون میشم اگر بتونین کمکم کنین:banel_smiley_4::banel_smiley_4::banel_smiley_4:

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوستان، میشه خواهش کنم کسی در مورد classregtree توضیح بده، چطورعمل میکنه! من الان میخوام ویژگی هایی مهم رو که تو طبقه بندی نقش مهمی دارن رو استخراج کنم، اما نمیدونم چطور؟ فقط میدونم که میخوام با Decision tree انجامش بدم:ws3:

بعد اونطور که متوجه شدم این تابع واسه همین استفاده میشه!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام دوستان، میشه خواهش کنم کسی در مورد classregtree توضیح بده، چطورعمل میکنه! من الان میخوام ویژگی هایی مهم رو که تو طبقه بندی نقش مهمی دارن رو استخراج کنم، اما نمیدونم چطور؟ فقط میدونم که میخوام با Decision tree انجامش بدم

بعد اونطور که متوجه شدم این تابع واسه همین استفاده میشه!

توی بعضی کارها توی حوزه پردازش تصویر مثل نهان کاوی یک سری ویژگی ها از تصاویر استخراج میشه، که گاهی اوقات ممکنه این ویژگی های استخراج شده خیلی باشن. این ویژگی های استخراج شده به SVM داده میشه تا بتونه طبقه بندی انجام بده. بعضی ویژگی ها هستن که توی طبقه بندی نقش موثری دارن. حالا با استفاده یه سری توابع میان Feature Selection انجام میدن، یکی از ساده ترین روش ها استفاده از الگوریتم Decision Tree هستش. حالا توی متلب با استفاده از تابع زیر( فک کنم) میشه که ویژگی هایی که توی تصمیم گیری نقش مهمی دارند رو بصورت دستی بیرون کشید.

مثلا این کد رو ببینید:

t=classregtree(GLCMSTSF,Group(:,2:2),'names',{'Autocorrelation','Contrast','Correlation','Correlation','Cluster Prominence','Cluster Shade','Dissimilarity',' Energy: matlab','Entropy','Homogeneity','Homogeneity','Maximum probability','Variance','Sum average','Sum variance','Sum entropy','Difference variance','Difference entropy' ,'Information measure of correlation1','Information measure of correlation2','Inverse difference normalized (INN)','Inverse difference moment normalized '});

من ویژگی های استخراج شده از ماتریس GLCM را دادم به این درخت، تا برام طبقه بندی انجام بده، حالا اگه کد زیر رو بزنم، درخت این ویژگی ها رو نشون میده:

view(t);

حالا به نظرم ویژگی هایی که به ریشه نزدیکترن، ویژگی های مهم هستن.

 

حالا دوستان اگه من جایی رو اشتباه گفتم، خواهش میکنم کمک کنید تا اصلاحش کنم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من یه جدول دارم جنس ستون هاش از نوع cell هست، چطور میتونم اندیس یه کاراکتر یا استرینگ رو پیدا کنم؟

بعد حذف تو چنین جدولایی چه شکلیه؟! یعنی مثلا من یه ستونی رو دارم بعد بخام حذفش کنم از چه دستوری باید استفاده کنم؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

row=find(ismember(Sgroup,'no'));

Sgroup(row,:)=[];

خط اول سطرهایی از آرایه ما رو بررسی میکنه که رشته ی no در اون هست، خط دوم هم اندیس سطرهای پیدا شده رو حذف میکنه.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
row=find(ismember(Sgroup,'no'));

Sgroup(row,:)=[];

خط اول سطرهایی از آرایه ما رو بررسی میکنه که رشته ی no در اون هست، خط دوم هم اندیس سطرهای پیدا شده رو حذف میکنه.

 

 

سلام

لطفا کمک:hanghead:

اگه بخوام تو این سوال اندیس های پیدا شده رو با یک رشته دیگه جایجا کنم چیکار باید بکنم؟ مثلا میخام اندیس های پیدا شده رو با کلمه 'bad' پر کنه؟!!!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
سلام

لطفا کمک:hanghead:

اگه بخوام تو این سوال اندیس های پیدا شده رو با یک رشته دیگه جایجا کنم چیکار باید بکنم؟ مثلا میخام اندیس های پیدا شده رو با کلمه 'bad' پر کنه؟!!!

 

سلام

 

>> clear
>> C = {'yes','no','yes';'no','yes','no'};
>> idx = strcmp(C,'no');
>> C(idx) = {'bad'}

C = 

   'yes'    'bad'    'yes'
   'bad'    'yes'    'bad'

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من می خوام تعداد رنگ های یک تصویر را از 256*256*256 را به تعداد 4*4*4 کاهش بدم

به طوری که این کد قابل پیاده سازی برای تمام تصاویر باشد

لطفا راهنمایی بفرمایید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...