SAMA.FA 106 ارسال شده در 10 اردیبهشت، 2015 آیا کد موجک گابور ایراد داره که خروجی که می خوام در نمیاد؟ در ضمن استخراج ویژگی که بدست میاره کدوم؟
SAMA.FA 106 ارسال شده در 11 اردیبهشت، 2015 سلام کسی میدونه اسکن معوج کج یعنی چی؟ منظور اسکن کج ومعوج چیکارمیکنه؟ 1
Imaaan 17059 ارسال شده در 12 اردیبهشت، 2015 سلام چطوری بعداعمال موجک گابور روتصویر استخراج ویژگی بدست میاد؟وچطور با میشه با40تا خروجی پیچیدگی یک تصویرگابور بدست آورد؟ سلام توی صفحه اول این تاپیک یه توضیحاتی داده شده، فکر کنم بد نباشه که یه نگاهی بهش بندازی. 1
SAMA.FA 106 ارسال شده در 17 اردیبهشت، 2015 سلام انرژی محلی و میانگین دامنه برای استخراج ویژگی فیلترگابور چهجور حساب میشه؟؟؟
hhamidy 886 مالک ارسال شده در 17 اردیبهشت، 2015 سلام انرژی محلی و میانگین دامنه برای استخراج ویژگی فیلترگابور چهجور حساب میشه؟؟؟ سلام. Local Energy = summing up the squared value of each matrix value from a response matrix Mean Amplitude = sum of absolute values of each matrix value from a response matrix لطفا خطوط آخر از پست دوم این صفحه رو بخونید: http://www.noandishaan.com/forums/thread132953.html 4
SAMA.FA 106 ارسال شده در 12 خرداد، 2015 سلام ایراد کد کجاست که موققع اجرا خطا میده؟؟؟ کد: close all; clear all; clc; % Parameter Setting Img = imread('D:\image\roz.png'); Img = rgb2gray(Img); Img = im2double(Img) [R C]=size(Img); % R = 128; % C = 128; Kmax = pi / 3; f = sqrt( 1 ); Delt = 2 * pi/3; Delt2 = Delt * Delt; % Img=Img(:); % 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 IGW=conv2(Img,GW,'same'); % IGW=conv((Img),(figure ( 2 ))); figure ( 3 ); subplot( 5, 8, v * 8 + u ),imshow (abs( IGW ) ,[]); end % figure ( 4 ); % subplot( 1, 5, v + 1 ),imshow ( abs( GW ),[]); % Show the magnitude of Gabor wavelets % end [n,m] = size(Img); s = (n*m)/(u*v); l = s*u*v; featureVector = zeros(1,1); c = 0; for i = 1:u for j = 1:v c = c+1; gaborAbs = abs(IGW); gaborAbs = downsample(gaborAbs,u); gaborAbs = downsample(gaborAbs.',v); gaborAbs = reshape(gaborAbs.',[],1); % Normalized to zero mean and unit variance. (if not applicable, please comment this line) gaborAbs = (gaborAbs-mean(gaborAbs))/std(gaborAbs,1); featureVector(((c-1)*s+1):(c*s)) = gaborAbs; end end خطا: Warning: Integer operands are required for colon operator when used as index In an assignment A(I) = B, the number of elements in B and I must be the same. 3
Imaaan 17059 ارسال شده در 13 خرداد، 2015 سلام ایراد کد کجاست که موققع اجرا خطا میده؟؟؟ کد: close all; clear all; clc; % Parameter Setting Img = imread('D:\image\roz.png'); Img = rgb2gray(Img); Img = im2double(Img) [R C]=size(Img); % R = 128; % C = 128; Kmax = pi / 3; f = sqrt( 1 ); Delt = 2 * pi/3; Delt2 = Delt * Delt; % Img=Img(:); % 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 IGW=conv2(Img,GW,'same'); % IGW=conv((Img),(figure ( 2 ))); figure ( 3 ); subplot( 5, 8, v * 8 + u ),imshow (abs( IGW ) ,[]); end % figure ( 4 ); % subplot( 1, 5, v + 1 ),imshow ( abs( GW ),[]); % Show the magnitude of Gabor wavelets % end [n,m] = size(Img); s = (n*m)/(u*v); l = s*u*v; featureVector = zeros(1,1); c = 0; for i = 1:u for j = 1:v c = c+1; gaborAbs = abs(IGW); gaborAbs = downsample(gaborAbs,u); gaborAbs = downsample(gaborAbs.',v); gaborAbs = reshape(gaborAbs.',[],1); % Normalized to zero mean and unit variance. (if not applicable, please comment this line) gaborAbs = (gaborAbs-mean(gaborAbs))/std(gaborAbs,1); featureVector(((c-1)*s+1):(c*s)) = gaborAbs; end end خطا: Warning: Integer operands are required for colon operator when used as index In an assignment A(I) = B, the number of elements in B and I must be the same. سلام سما خانوم ببین، متن اخطار اول داره بهت میگه که وقتی از کالون (:) استفاده می کنی، نیاز هست که اعداد حتما صحیح باشن، و البته مثبت. ولی s توی اینجا اعشاری هست: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام بعد هم میگه تعداد دو طرف باید برابر باشه، یعنی تعداد درایه های آدرس دهی شده سمت چپ، با تعداد درایه های سمت راست مساوی برابر باشن. 2
Imaaan 17059 ارسال شده در 13 خرداد، 2015 خب من چطوری میتونم رفع خطا کنم؟ به جای اون عبارتی که برای S نوشتی، S رو مساوی 345 قرار بده، این خط رو میگم: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام 2
SAMA.FA 106 ارسال شده در 13 خرداد، 2015 باز خطا میده خطا: Error: The expression to the left of the equals sign is not a valid target for an assignment. درضمن تو خروجیش مگه نباید تصویرم کانوال کنه؟؟؟ 1
Imaaan 17059 ارسال شده در 13 خرداد، 2015 باز خطا میده خطا: Error: The expression to the left of the equals sign is not a valid target for an assignment. درضمن تو خروجیش مگه نباید تصویرم کانوال کنه؟؟؟ چجوری تغییرش دادی؟ نمیدونم در مورد چی صحبت می کنی، کامل که کد رو بررسی نکردم، فقط گفتم چجوری مشکلش حل میشه. 3
SAMA.FA 106 ارسال شده در 13 خرداد، 2015 اون خطا اول درست شد ممنون ولی موندم چرا اصلا تو خروجی از تصویر خبری نیست؟؟؟؟ و کدوم خط میگه باهم برابر نیست a(i)=b؟؟؟؟؟؟؟؟؟؟؟؟؟ 1
Imaaan 17059 ارسال شده در 13 خرداد، 2015 اون خطا اول درست شد ممنون ولی موندم چرا اصلا تو خروجی از تصویر خبری نیست؟؟؟؟و کدوم خط میگه باهم برابر نیست a(i)=b؟؟؟؟؟؟؟؟؟؟؟؟؟ کدوم تصویر، یه بردار ویژگی حساب کردی که 11040 درایه داره. کد جدیدت رو میذاری؟ 2
SAMA.FA 106 ارسال شده در 13 خرداد، 2015 کد: Img = imread('D:\image\roz.png'); Img = rgb2gray(Img); Img = im2double(Img) u=8; v=5; m=39; n=39; gaborArray = gaborFilterBank(5,8,39,39); if (nargin ~= 4) end gaborArray = cell(u,v); fmax = 0.25; gama = sqrt(2); eta = sqrt(2); for i = 1:u fu = fmax/((sqrt(2))^(i-1)); alpha = fu/gama; beta = fu/eta; for j = 1:v tetav = ((j-1)/v)*pi; gFilter = zeros(m,n); for x = 1:m for y = 1:n xprime = (x-((m+1)/2))*cos(tetav)+(y-((n+1)/2))*sin(tetav); yprime = -(x-((m+1)/2))*sin(tetav)+(y-((n+1)/2))*cos(tetav); gFilter(x,y) = (fu^2/(pi*gama*eta))*exp(-((alpha^2)*(xprime^2)+(beta^2)*(yprime^2)))*exp(1i*2*pi*fu*xprime); end end gaborArray{i,j} = gFilter; end end figure('NumberTitle','Off','Name','Magnitudes of Gabor filters'); for i = 1:u for j = 1:v subplot(u,v,(i-1)*v+j); imshow(abs(gaborArray{i,j}),[]); end end figure('NumberTitle','Off','Name','Real parts of Gabor filters'); for i = 1:u for j = 1:v subplot(u,v,(i-1)*v+j); imshow(real( gaborArray{i,j}),[]); end end [u,v] = size(gaborArray); gaborResult = cell(u,v); for i = 1:u for j = 1:v gaborResult{i,j} = conv2(Img,gaborArray{i,j},'same'); % J{u,v} = filter2(G{u,v},I); end end [n,m] = size(Img); s=(n*m)/(u*v); s=345; l = s*u*v; featureVector = zeros(l,1); c = 0; for i = 1:u for j = 1:v c = c+1; gaborAbs = abs(gaborResult{i,j}); gaborAbs = downsample(gaborAbs,u); gaborAbs = downsample(gaborAbs.',v); gaborAbs = reshape(gaborAbs.',[],1); % Normalized to zero mean and unit variance. (if not applicable, please comment this line) gaborAbs = (gaborAbs-mean(gaborAbs))/std(gaborAbs,1); featureVector(((c-1)*s+1):(c*s)) = gaborAbs; end end 2
Imaaan 17059 ارسال شده در 13 خرداد، 2015 کد:Img = imread('D:\image\roz.png'); Img = rgb2gray(Img); Img = im2double(Img) u=8; v=5; m=39; n=39; gaborArray = gaborFilterBank(5,8,39,39); if (nargin ~= 4) end gaborArray = cell(u,v); fmax = 0.25; gama = sqrt(2); eta = sqrt(2); for i = 1:u fu = fmax/((sqrt(2))^(i-1)); alpha = fu/gama; beta = fu/eta; for j = 1:v tetav = ((j-1)/v)*pi; gFilter = zeros(m,n); for x = 1:m for y = 1:n xprime = (x-((m+1)/2))*cos(tetav)+(y-((n+1)/2))*sin(tetav); yprime = -(x-((m+1)/2))*sin(tetav)+(y-((n+1)/2))*cos(tetav); gFilter(x,y) = (fu^2/(pi*gama*eta))*exp(-((alpha^2)*(xprime^2)+(beta^2)*(yprime^2)))*exp(1i*2*pi*fu*xprime); end end gaborArray{i,j} = gFilter; end end figure('NumberTitle','Off','Name','Magnitudes of Gabor filters'); for i = 1:u for j = 1:v subplot(u,v,(i-1)*v+j); imshow(abs(gaborArray{i,j}),[]); end end figure('NumberTitle','Off','Name','Real parts of Gabor filters'); for i = 1:u for j = 1:v subplot(u,v,(i-1)*v+j); imshow(real( gaborArray{i,j}),[]); end end [u,v] = size(gaborArray); gaborResult = cell(u,v); for i = 1:u for j = 1:v gaborResult{i,j} = conv2(Img,gaborArray{i,j},'same'); % J{u,v} = filter2(G{u,v},I); end end [n,m] = size(Img); s=(n*m)/(u*v); s=345; l = s*u*v; featureVector = zeros(l,1); c = 0; for i = 1:u for j = 1:v c = c+1; gaborAbs = abs(gaborResult{i,j}); gaborAbs = downsample(gaborAbs,u); gaborAbs = downsample(gaborAbs.',v); gaborAbs = reshape(gaborAbs.',[],1); % Normalized to zero mean and unit variance. (if not applicable, please comment this line) gaborAbs = (gaborAbs-mean(gaborAbs))/std(gaborAbs,1); featureVector(((c-1)*s+1):(c*s)) = gaborAbs; end end خب کدت نسبت به حالت قبل خیلی تغییر کرده، مطمئنا اندازه بردار gaborAbs که بدست میاری دیگه 345 نمیشه، این خط های آخر رو اینجوری تغییر بده که دیگه این مشکل رو نداشته باشی: برای مشاهده این محتوا لطفاً ثبت نام کنید یا وارد شوید. ورود یا ثبت نام s رو اینجا مقدار دهی کنی. 4
SAMA.FA 106 ارسال شده در 13 خرداد، 2015 ممنــــــــــــــــــــــــــــــــــــــــــــــــــون دیگه مقدار S کد حساب میکنه؟ در خروجی دیگه تصویر کانوال نمیکنه مثل موجک ویولت که کانوال کرد 40تا تصویرمیداد؟ 2
Imaaan 17059 ارسال شده در 13 خرداد، 2015 ممنــــــــــــــــــــــــــــــــــــــــــــــــــون دیگه مقدار S کد حساب میکنه؟در خروجی دیگه تصویر کانوال نمیکنه مثل موجک ویولت که کانوال کرد 40تا تصویرمیداد؟ خواهش می کنم، بله داخل حلقه اندازه بردار gaborAbs حساب میشه و به همون تعداد داخل بردار ویژگی شما (featureVector) درایه برای ذخیره سازی آدرس دهی میشه. اون مرحله رو فکر کنم قبلش انجام دادین دیگه، اینجا ویژگی ها داره حساب میشه از اون خروجی ها اگه اشتباه نکنم. 4
hhamidy 886 مالک ارسال شده در 13 خرداد، 2015 سلام سما خانوم این کد گابور رو حساب می کنه یا گابور ویولت؟ 3
hhamidy 886 مالک ارسال شده در 13 خرداد، 2015 ممنــــــــــــــــــــــــــــــــــــــــــــــــــون دیگه مقدار S کد حساب میکنه؟در خروجی دیگه تصویر کانوال نمیکنه مثل موجک ویولت که کانوال کرد 40تا تصویرمیداد؟ برای این قسمت از کدت imshow رو اضافه کن تا کانولو رو ببینی عزیز: for i = 1:u for j = 1:v gaborResult{i,j} = conv2(Img,gaborArray{i,j},'same'); % J{u,v} = filter2(G{u,v},I); subplot(u,v,(i-1)*v+j); imshow(abs(gaborResult{i,j}),[]); end end 2
ارسال های توصیه شده