رفتن به مطلب

گابور


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

  • پاسخ 90
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

بهترین ارسال کنندگان این موضوع

  • 1 ماه بعد...
  • 2 هفته بعد...
  • 2 هفته بعد...

1. گفته میانگین اول حساب کن

2. برای بلوک k*k پیکسلهای بزرگتراز یک که میانگین حساب می کنیم بعد باهم جمع می کنیم ودر S قرار می دهیم

3. اگر پیکسلی نبود بجاش برای محاسبه k=g،S که K اندازه بلوک هاست

4. S رو به عنوان ویژگی توی بردار ستونی قرار می دهیم

5. مرحله 2 تا 4 را برای بلوک های دیگه حساب می کنیم.

 

 

من اول میانگین تصویر خروجی حساب کردم;( g=mean(img_out_disp

برای مرحله 2و3و4و5 چهجوری کد بنویسم؟؟؟؟

  • Like 2
لینک به دیدگاه
1. گفته میانگین اول حساب کن

2. برای بلوک k*k پیکسلهای بزرگتراز یک که میانگین حساب می کنیم بعد باهم جمع می کنیم ودر S قرار می دهیم

3. اگر پیکسلی نبود بجاش برای محاسبه k=g،S که K اندازه بلوک هاست

4. S رو به عنوان ویژگی توی بردار ستونی قرار می دهیم

5. مرحله 2 تا 4 را برای بلوک های دیگه حساب می کنیم.

 

 

من اول میانگین تصویر خروجی حساب کردم;( g=mean(img_out_disp

برای مرحله 2و3و4و5 چهجوری کد بنویسم؟؟؟؟

 

خب همین میانگین رو هم درست ننوشتی که.

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

آیا این درسته برای مرحله 2؟

g=mean2(img_out_disp);

im=imread('D:\image\roz12.png');

im=imresize(im,[92 112]);

im=rgb2gray(im);

k=1:16;

[h,w]=size(im);

for i=1:15:h-15

for j=1:15:w-15

imblock=im(i:i+15,j:j+15);

s=sum(img_out_disp(:));

end

end

imshow(imblock)

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

برای استخراج بردارویژگی فیلتربالاگذرگوسی این کد درسته؟؟؟

 

clc;

clear;

a=im2double(imread('D:\image\roz11.png'));

a = rgb2gray(a);

figure,imshow(a),title('main image','fontsize',15);

H =fspecial('gaussian' ,[16 16],2);

hpg= imfilter(a,H);

figure,imshow(hpg),title('matlab gausian filter','fontsize',15);

 

[m,n]=size(a);

high_filter=zeros(m,n);

f_transform=fft2(a);

f_shift=fftshift(f_transform);

p=m/2;

q=n/2;

d0=70;

for i=1:m

for j=1:n

distance=sqrt((i-p)^2+(j-q)^2);

high_filter(i,j)=exp(-(distance)^2/(2*(d0^2)));

end

end

temp=high_filter.*f_shift;

x=real(ifft2(double(temp)));

figure,imshow(x,[]),title('my high pass gaussian filter','fontsize',15);

 

A=conv2(H,x,'same');

[u R]=eig(A)

(B=eig(A

 

  • Like 1
لینک به دیدگاه
خب پس میانگین چهجوری حساب میکنن؟؟این درسته؟

 

;( g=mean2(img_out_disp

 

آره، درسته.

آیا این درسته برای مرحله 2؟

g=mean2(img_out_disp);

im=imread('D:\image\roz12.png');

im=imresize(im,[92 112]);

im=rgb2gray(im);

k=1:16;

[h,w]=size(im);

for i=1:15:h-15

for j=1:15:w-15

imblock=im(i:i+15,j:j+15);

s=sum(img_out_disp(:));

end

end

imshow(imblock)

 

فکر کنم باید با میانگین مقایسه بشه، متن انگلیسیش رو هم بذار، s هم اینجا یه مقدار فقط نگه میداره.

برای استخراج بردارویژگی فیلتربالاگذرگوسی این کد درسته؟؟؟

 

clc;

clear;

a=im2double(imread('D:\image\roz11.png'));

a = rgb2gray(a);

figure,imshow(a),title('main image','fontsize',15);

H =fspecial('gaussian' ,[16 16],2);

hpg= imfilter(a,H);

figure,imshow(hpg),title('matlab gausian filter','fontsize',15);

 

[m,n]=size(a);

high_filter=zeros(m,n);

f_transform=fft2(a);

f_shift=fftshift(f_transform);

p=m/2;

q=n/2;

d0=70;

for i=1:m

for j=1:n

distance=sqrt((i-p)^2+(j-q)^2);

high_filter(i,j)=exp(-(distance)^2/(2*(d0^2)));

end

end

temp=high_filter.*f_shift;

x=real(ifft2(double(temp)));

figure,imshow(x,[]),title('my high pass gaussian filter','fontsize',15);

 

A=conv2(H,x,'same');

[u R]=eig(A)

(B=eig(A

 

 

من نمی دونم منظورش چیه، قرار بود یه توضیحی در مورد فیلترات بدی، high_filter پایین گذر نیست؟

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

اینم متن انگلیسی:

 

1. Find α g = [mean of (GF)].

2. For each block B of size k×k pixels, find pixels (x, y) in

B such that    G x y g F ,  , then consider the sum of all

the pixels that satisfy the above criteria consider the sum

as S   G F  x , y  .

3. If no such pixel exists then take S=k × α g , where k is a

constant, here k is taken as the block size.

4. Store S i.e., the feature points into the column vector

i O .

5. Repeat step 2 to step 4 for all the blocks.

End

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

high_filter بالاگذر

خب اول رو گوسین تبدیلات انجام دادم بعد بالاگذر بعد بالاگذر و گوسین باهم کانوال کردم شده فیلتربالاگذر گوسی بعد از طریق بردارویژه ،بردار فیلتر بالاگذر گوسی رو بدست اوردم. بنظرتون برداری که بدست اوردم درسته؟

 

 

ضمنا گفتین میانگین مقایسه ،میشه واضحتر بگین .

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

من یه کد دیگه هم برای فیلتر بالاگذر گوسی نوشتم ولی موقع اجرا ارور میده نمیدونم چهجوری ارورشو درست کنم؟؟؟

کد:

f=im2double(imread('D:\image\roz.png'));

f = rgb2gray(f);

f=imresize(f,[92 112]);

PQ=paddedsize(size(f));

D0=0.5*PQ(1);

PQ(1)=PQ(2);

H=hpfilter('gaussian',PQ(1),PQ(2),D0);

g=dftfilt(f,H);

figure,imshow(g,[])

 

خطا:

Error using hpfilter

Too many input arguments.

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

 

1. Find α g = [mean of (GF)].

2. For each block B of size k×k pixels, find pixels (x, y) in

B such that    G x y g F ,  , then consider the sum of all

the pixels that satisfy the above criteria consider the sum

as S   G F  x , y  .

3. If no such pixel exists then take S=k × α g , where k is a

constant, here k is taken as the block size.

4. Store S i.e., the feature points into the column vector

i O .

5. Repeat step 2 to step 4 for all the blocks.

End

 

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

 

 

من یه کد دیگه هم برای فیلتر بالاگذر گوسی نوشتم ولی موقع اجرا ارور میده نمیدونم چهجوری ارورشو درست کنم؟؟؟

کد:

f=im2double(imread('D:\image\roz.png'));

f = rgb2gray(f);

f=imresize(f,[92 112]);

PQ=paddedsize(size(f));

D0=0.5*PQ(1);

PQ(1)=PQ(2);

H=hpfilter('gaussian',PQ(1),PQ(2),D0);

g=dftfilt(f,H);

figure,imshow(g,[])

 

خطا:

Error using hpfilter

Too many input arguments.

 

این فانکشن هایی که استفاده کردی رو نمیشناسم، میگه تعداد ورودی هات زیاده.

  • Like 2
لینک به دیدگاه
  • 2 هفته بعد...
اینم متن انگلیسی:

 

1. Find α g = [mean of (GF)].

2. For each block B of size k×k pixels, find pixels (x, y) in

B such that    G x y g F ,  , then consider the sum of all

the pixels that satisfy the above criteria consider the sum

as S   G F  x , y  .

3. If no such pixel exists then take S=k × α g , where k is a

constant, here k is taken as the block size.

4. Store S i.e., the feature points into the column vector

i O .

5. Repeat step 2 to step 4 for all the blocks.

End

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

iodxnu4r58nl2pljvw20.png

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

سلام

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

اگه کسی کمک کنه ممنون میشم

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

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

چرا این کد خطا میده بنظرتون؟؟

 

clear;

img = imread('D:\image\roz.png');

 

figure;

subplot(121)

imshow(img)

g = mean2(img);

k=16;

[h,w]=size(img);

n = 1;

for i=1:k:h

for j=1:k:w

imblock=img(i:i+k-1,j:j+k-1);

if nnz(imblock>g)>0

S(n) = sum(imblock(imblock>g));

else

S(n) = k * g;

end

n = n+1;

end

end

subplot(122)

imshow(reshape(S,h/16,w/16)',[],'InitialMagnification','fit')

 

 

اینم خطاش؟

 

Index exceeds matrix dimensions.

لینک به دیدگاه

×
×
  • اضافه کردن...