PDA

View Full Version : اندیس گذاری بلوک ها



aref_error
چهارشنبه 09 مهر 1393, 21:32 عصر
سلام دوستان. فرض کنیم یک تصویر را با الگوریتم درخت ربعی (quad tree) توانستیم بلوک بندی کنیم، چطور میتوانیم بر روی هر بلوک تغییرات انجام دهیم؟ آیا هر بلوک شماره ای دارد؟ چطور میشود به فلان بلوک دسترسی پیدا کرد؟

rahnema1
جمعه 11 مهر 1393, 19:04 عصر
هر کدوم از مربعها که زیرشاخه داشت 1 میذاریم اگه زیرشاخه نداشته باشه صفر می ذاریم
جهت پیمایش هم با فلش نشون داده شده
از 4 زیر شاخه کل تصویر شماره 2و 4 زیر شاخه دارند
مثلا زیرشاخه های این تصویر به می شه به دو صورت کد بندی کردhttp://www.sharefile.ir/uploads/1412414065.png



0101 5,4
0001 2,3,2
0000 8,8,8,9
0000 1,7,4,4

0101 5,4
0001 2,3,2
0000 1,7,4,4
0000 8,8,8,9

0101000100000000

5,4,2,3,2,1,7,4,4,8,8,8,9
5,4,2,3,2,8,8,8,9,1,7,4,4

coronaa
شنبه 12 مهر 1393, 00:03 صبح
ببخشید کاربرد الگوریتم درخت ربعی (quad tree) کجاست؟

aref_error
سه شنبه 15 مهر 1393, 14:10 عصر
ببخشید کاربرد الگوریتم درخت ربعی (quad tree) کجاست؟در پردازش تصویر و مخصوصا فشردهسازی به وسیله ی موجک ها و یا فراکتال ها و DCT

aref_error
سه شنبه 15 مهر 1393, 14:22 عصر
هر کدوم از مربعها که زیرشاخه داشت 1 میذاریم اگه زیرشاخه نداشته باشه صفر می ذاریم
جهت پیمایش هم با فلش نشون داده شده
از 4 زیر شاخه کل تصویر شماره 2و 4 زیر شاخه دارند
مثلا زیرشاخه های این تصویر به می شه به دو صورت کد بندی کردhttp://www.sharefile.ir/uploads/1412414065.png



0101 5,4
0001 2,3,2
0000 8,8,8,9
0000 1,7,4,4

0101 5,4
0001 2,3,2
0000 1,7,4,4
0000 8,8,8,9

0101000100000000

5,4,2,3,2,1,7,4,4,8,8,8,9
5,4,2,3,2,8,8,8,9,1,7,4,4


سلام . ممنون ولی سوالی که پیش میاد اینه که چطور خود کامپیوتر بفهمه که در فلان بلوک زیرشاخه داریم و این نوع کد بندی رو انجام بده؟! .
کدی که تا اینجا دارم اینه:


clc;
close all;
clear all;




I = imread('cameraman.tif');
S = qtdecomp(I,.27);
blocks = repmat(uint8(0),size(S));


for dim = [512 256 128 64 32 16 8 4 2 1];
numblocks = length(find(S==dim));
if (numblocks > 0)
values = repmat(uint8(1),[dim dim numblocks]);
values(2:dim,2:dim,:) = 0;
blocks = qtsetblk(blocks,S,dim,values);
end
end


blocks(end,1:end) = 1;
blocks(1:end,end) = 1;


imshow(I), figure,
imshow(I)
hold on
imshow(blocks,[])




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

aref_error
جمعه 18 مهر 1393, 23:37 عصر
کسی که نیست کمکی کنه!بالاخره خودم برنامه شو نوشتمو و حلش کردم. پیش به سوی گام بعدی. متلب واقعا نرم افزار خوبیه . خیلی کارامده

rahnema1
شنبه 19 مهر 1393, 08:26 صبح
کسی که نیست کمکی کنه!بالاخره خودم برنامه شو نوشتمو و حلش کردم. پیش به سوی گام بعدی. متلب واقعا نرم افزار خوبیه . خیلی کارامده

خب شما که جوابش را پیدا کردین لطف کنید اینجا بذارید دیگران هم استفاده کنن

aref_error
یک شنبه 20 مهر 1393, 22:02 عصر
جواب همون کدی هست که نوشتم. فقط حواسم به تابع qtdecomp نبود که ورودی بیشتری میگیره.
این کدی که در بالا گذاشتم رو اجرا کنید متوجه میشید.
از متلب 2013 یا بالاتر استفاده کنید