رفتن به مطلب

گابور


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

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

 

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.

 

سلام.

 

چون بر اساس تصویر cameraman که یه تصویر 256*256 تایی هست کد رو نوشتید، اندازه ی ماتریس با تصویر جدیدتون مطابقت نداره و نمیتونه به این شکل اون رو به بلاک های 16تایی تقسیم کنه.

 

 

شما باید عدد k رو طبق اندازه ی تصویر خودتون در نظر بگیرید و بعد بقیه ی برنامه رو اجرا بفرمایید.

 

احتمالا شما برای یه تعداد تصویر این محاسبات رو انجام میدید و طبیعتا نیاز هست که با یه متغیر این تعریف رو انجام بدید چون به این شکل هربار اندازه ی تصویر شما تغییر کنه باید اون عدد k رو تغییر بدید و این مطلوب نیست.

 

البته این نظر منه.

لینک به دیدگاه
  • پاسخ 90
  • ایجاد شد
  • آخرین پاسخ

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

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

ایراد کد زیر چیه که موقع اجراخطا میده:از mean2 به پایین به تنهایی جواب میده ولی وقتی که میخوام دنباله کد مربوطه اجرا شه خطا میده

 

 

 

 

close all;

clear all;

clc;

 

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

I2 = imcrop(I,[20.7 46.6 50 50]);

I2 = rgb2gray(I2);

I2 = im2double(I2);

[R C]=size(I2);

% R = 128;

% C = 128;

Kmax = pi/3 ;

f = sqrt(1 );

Delt = 2*pi/3;

Delt2 = Delt * Delt;

 

 

% Show the Gabor Wavelets

for v = 0 : 4

for u = 1 :8

GW = GaborWavelet ( R, C, Kmax, f, u, v, Delt2 ); % Create the Gabor wavelets

figure( 2 );

subplot( 5, 8, v *8+ u ),imshow ( real( GW ) ,[]);% Show the real part of Gabor wavelets

lambda = 8;

theta = 0;

psi = [0 pi/2];

gamma = 2;

bw = 1;

N = 8;

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

img_in(:,:,2:3) = []; % discard redundant channels, it's gray anyway

img_out = zeros(size(img_in,1), size(img_in,2), N);

for n=1:N

gb = gabor_fn(bw,gamma,psi(1),lambda,theta)...

+ 1i * gabor_fn(bw,gamma,psi(2),lambda,theta);

% gb is the n-th gabor filter

img_out(:,:,n) = imfilter(img_in, gb, 'symmetric');

% filter output to the n-th channel

theta = theta + 2*pi/N;

% next orientation

end

figure(1);

imshow(img_in);

title('input image');

figure(2);

img_out_disp = sum(abs(img_out).^2, 3).^0.5;

% default superposition method, L2-norm

img_out_disp = img_out_disp./max(img_out_disp(:));

% normalize

figure(6);

imshow(img_out_disp);

title('gabor output, L-1 super-imposed, normalized');

 

IGW=conv2(I2 ,GW,'same');

 

figure ( 3 );

subplot( 5, 8, v * 8 + u ),imshow ( abs( IGW ) ,[]);

 

end

 

end

 

g = mean2(img_out_disp);

k=16;

 

img_out_disp(size(img_out_disp,1),:)=[];

img_out_disp(:,size(img_out_disp,2))=[];

[h,w]=size(img_out_disp);

n = 1;

for i=1:k:h

for j=1:k:w

imblock=img_out_disp(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(2,2,[3 4])

% reshape(S,h/16,w/16)'

imshow(S,[],'InitialMagnification','fit')

subplot(222)

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

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

من فبول داریم این این ویژگی ها رو میده

ولی اسم این ویژگی چی هست واقعا من نمی دونم این ویژگی اسمش چی هس؟:icon_redface:

 

سلام دوست عزیز

متوجه سوالتون نشدم، بیشتر توضیح میدین؟

لینک به دیدگاه
  • 1 ماه بعد...
در مورد محاسبه نرخ تشخیص وfrr وfar برای سیستم تشخیص هویت در متلب چه می دانید؟؟؟؟ اگر توابعی دارد و یا فانکشنی اطلاعاتی بدهید. با تشکر.

 

سلام

این لینک رو ببین، به نظر خوب توضیح داده:

 

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

 

در مورد ROC هم این تاپیک شاید بد نباشه، البته خود متلب هم فانکشن های roc و plotroc رو داره:

 

[h=1]نمودارroc در متلب[/h]

لینک به دیدگاه
  • 2 هفته بعد...

سلام

من کد گابور رو اجرا کردم تصاویر کانوالو رو هم در خروجی دیدم اما در فضای ورک اسپیسم یه featurevector دارم که 163840x1 double هست. میشه واضح بفرمائید چطور میتونم از این استفاده کنم. من میخوام حالت چهره رو تشخیص بدم و دارم از فیلتر گابور استفاده میکنم.

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

خواهش میکنم راهنماییم کنین.

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

من کد گابور رو اجرا کردم تصاویر کانوالو رو هم در خروجی دیدم اما در فضای ورک اسپیسم یه featurevector دارم که 163840x1 double هست. میشه واضح بفرمائید چطور میتونم از این استفاده کنم. من میخوام حالت چهره رو تشخیص بدم و دارم از فیلتر گابور استفاده میکنم.

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

خواهش میکنم راهنماییم کنین.

سلام

تا جایی که من از صحبت های شما فهمیدم این است که الان شما یه تصویر چهره دادید به فیلتر گابور و فیلتر گابور هم

163840 ویژگی برای اون عکس به شما داده کاری که شما انجام بایدبدید این است که تصواویرتون را رو تک به تک بخونید و یک ماتریس از ویژگی ها و نمونه ها بسازید که سطرهای ماتریس نشان دهنده ی نمونه ها و ستونهای ماتریس نیز نشان دهنده ی ویژگی هاست بعد از ساخت این ماتریس ، ماتریس موردنظر را به الگوریتم های کاهش بعد داده و خروجی شما یک ماتریس با ابعاد کنر ( از لحاظ ستونی چون ستون ها مربوزط به ویژگی هاست) خواهید داشت و بعد از بدست آوردن خروجی الگوریتم کاهش بعد می توانید در طبقه بند svm استفاده کنید................

 

البته راهنمای اضافی و تکمیلی را مدیر عزیر خدمت شما ارایه می دهند

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

سلام

یک دنیا ممنون از پاسختون

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

میشه خواهش کنم در صورت امکان بصورت تصویری یا با مثال این مبحث رو توضیح بدین.

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

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

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

سلام و خسته نباشید

دوستان من فیلتر و موجک گابور را مطالعه کردم اما برای اینکه خوب جا بیافته کسی مثال عددی حل شده را داره که بتونه به من کمک کنه

ممنون

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

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

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

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

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

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

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


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