رفتن به مطلب

ارسال های توصیه شده

ســلام:4564:

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

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

 

سلام

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

  • Like 3
لینک به دیدگاه
سلام

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

 

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

  • Like 1
لینک به دیدگاه
سلام،

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

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

av1kgsbb5o8ecfrs7os.png

 

سلام

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

  • Like 2
لینک به دیدگاه
سلام

ببخشید سوالتون رو ندیده بودم، خب اینجا ضریب 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;

  • Like 2
لینک به دیدگاه
خیلی ممنون از جوابتون: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;
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

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

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

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

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

 

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

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

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

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

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

  • Like 2
لینک به دیدگاه

سلام

من یه تولباس خوندن تصویر دارم که 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};

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

  • Like 2
لینک به دیدگاه
سلام

من یه تولباس خوندن تصویر دارم که 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};

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

 

سلام

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

 

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

  • Like 2
لینک به دیدگاه
سلام

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

 

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

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

jhk6hzfn7hrrghwhgk5x.jpg

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

06k0gfze8crv01me3da6.jpg

  • Like 2
لینک به دیدگاه
  • 1 ماه بعد...

سلام

یه سوال؟

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

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

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

  • Like 4
لینک به دیدگاه
سلام

یه سوال؟

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

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

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

 

سلام

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

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

  • Like 4
لینک به دیدگاه

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

  • Like 5
لینک به دیدگاه

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

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

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

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

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

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

 

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

  • Like 3
لینک به دیدگاه
  • 1 ماه بعد...

سلام

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

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

  • Like 3
لینک به دیدگاه

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

  • Like 2
لینک به دیدگاه
  • 1 ماه بعد...
برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

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

 

 

سلام

لطفا کمک:hanghead:

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

  • Like 1
لینک به دیدگاه
سلام

لطفا کمک:hanghead:

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

 

سلام

 

برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید.

  • Like 2
لینک به دیدگاه
  • 2 ماه بعد...

سلام

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

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

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

  • Like 1
لینک به دیدگاه
×
×
  • اضافه کردن...