رفتن به مطلب

SAMA.FA

عضو جدید
  • تعداد ارسال ها

    64
  • تاریخ عضویت

  • آخرین بازدید

تمامی مطالب نوشته شده توسط SAMA.FA

  1. SAMA.FA

    خطا در اجرای pca

    سلام از فیلترگابور که از فرکانس بالا و انرژی بردار وِژگی استخراج کردم ولی چون ابعاد برداری که از فیلتر بدست میاد زیاده برای اینکه کاهش ابعاد رو بردار انجام بدیم از PCAاستفاده می کنم ولی وقتی پارامتر بردار در کد PCA بعنوان ورودی قرار میدهم خطا میده لطفا یکی بگه چیکار کنم تا خطاش رفع شه ممنون کد :S=همون بردار ویژگی data=(S); % artificial data set of 100 variables (genes) and 10 samples [W, pc] = princomp(data'); pc=pc'; W=W'; plot(pc(1,:),pc(2,:),'.'); title('{\bf PCA} by princomp'); xlabel('PC 1'); ylabel('PC 2') % consider an artificial data set of 100 variables (e.g., genes) and 10 samples data=(S); % remove the mean variable-wise (row-wise) data=data-repmat(mean(data,2),1,size(data,2)); % calculate eigenvectors (loadings) W, and eigenvalues of the covariance matrix [W, EvalueMatrix] = eig(cov(data')); Evalues = diag(EvalueMatrix); % order by largest eigenvalue Evalues = Evalues(end:-1:1); W = W(:,end:-1:1); W=W'; % generate PCA component space (PCA scores) pc = W * data; % plot PCA space of the first two PCs: PC1 and PC2 plot(pc(1,:),pc(2,:),'.') وقتی این کد اجرا میکنم برداری که بدست میاد تمام اعداد ماتریس صفر میشه وقتی بجای data'=S قرار میدم خطای زیر میاد : خطا: Index exceeds matrix dimensions
  2. ممنون بله ازهمون آدرس دانلود کردم. فقط طریقه استفاده شو نمیدونم اگه میشه در این باره راهنمایی کنید؟
  3. باسلام من تولباکس Kevin Murphyدارم ولی نمیدونم چطوری ازش استفاده کنم اگه کسی اطلاعاتی از تولباکس داره که بتونه بهم کمک کنه خیلی ممنون میشم فقط اگه میشه زودتر جواب دهید
  4. SAMA.FA

    مدل مارکوف مخفی

    باسلام وخسته نباشید من درزمینه تشخیص چهره با مدل مارکوف مخفی شبیه سازی دارم که یه سری از کاراشو انجام دادم حالا در آموزش و تست مدل مارکوف مخفی به بن بست رسیدم آیا کسی میتونه تو این زمینه بهم کمک کنه ؟؟؟؟؟ممنون میشم یکی کمک کنه
      • 1
      • Like
  5. SAMA.FA

    گابور

    ایراد کد زیر چیه که موقع اجراخطا میده:از 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')
  6. SAMA.FA

    گابور

    اخه من تصویر میخوام به بلوکهای 16*16 تقسیم بشه پس باید چیکار کنم؟؟؟
  7. SAMA.FA

    گابور

    چرا این کد خطا میده بنظرتون؟؟ 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.
  8. SAMA.FA

    گابور

    خب من اول باید میانگین تصویر بدست بیارم بعد چیکار کنم راهنمایی کنید؟
  9. SAMA.FA

    گابور

    خب چطوری تعداد ورودی هارو کمتر کنم؟؟
  10. SAMA.FA

    گابور

    من یه کد دیگه هم برای فیلتر بالاگذر گوسی نوشتم ولی موقع اجرا ارور میده نمیدونم چهجوری ارورشو درست کنم؟؟؟ کد: 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.
  11. SAMA.FA

    گابور

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

    گابور

    اینم متن انگلیسی: 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
  13. SAMA.FA

    گابور

    برای استخراج بردارویژگی فیلتربالاگذرگوسی این کد درسته؟؟؟ 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
  14. SAMA.FA

    گابور

    آیا این درسته برای مرحله 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)
  15. SAMA.FA

    گابور

    خب پس میانگین چهجوری حساب میکنن؟؟این درسته؟ ;( g=mean2(img_out_disp
  16. SAMA.FA

    گابور

    1. گفته میانگین اول حساب کن 2. برای بلوک k*k پیکسلهای بزرگتراز یک که میانگین حساب می کنیم بعد باهم جمع می کنیم ودر S قرار می دهیم 3. اگر پیکسلی نبود بجاش برای محاسبه k=g،S که K اندازه بلوک هاست 4. S رو به عنوان ویژگی توی بردار ستونی قرار می دهیم 5. مرحله 2 تا 4 را برای بلوک های دیگه حساب می کنیم. من اول میانگین تصویر خروجی حساب کردم;( g=mean(img_out_disp برای مرحله 2و3و4و5 چهجوری کد بنویسم؟؟؟؟
  17. SAMA.FA

    گابور

    سلام چطوری میتونم از فیلتر گابور گوسی استخراج وِیژگی کنم؟
  18. SAMA.FA

    گابور

    سلام کد فیلتر بالاگذر گوسی رو میشه در این تاپیک بگذارید ممنون
  19. SAMA.FA

    گابور

    سلام از موجک گابور چطوری بردارویژگی استخراج میشه؟البته با اعمال L1-normبه کد موجک گابور
  20. SAMA.FA

    گابور

    اضافه کردم ممنون برای 40 تاتصویر خروجی چطوری بردارویژگی حساب میشه؟
  21. SAMA.FA

    گابور

    سلام این فعلا گابور حساب میکنه بعدگابور ویولت
  22. SAMA.FA

    گابور

    بازم ممنون:icon_gol:
  23. SAMA.FA

    گابور

    ممنــــــــــــــــــــــــــــــــــــــــــــــــــون دیگه مقدار S کد حساب میکنه؟ در خروجی دیگه تصویر کانوال نمیکنه مثل موجک ویولت که کانوال کرد 40تا تصویرمیداد؟
  24. SAMA.FA

    گابور

    کد: 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
  25. SAMA.FA

    گابور

    اون خطا اول درست شد ممنون ولی موندم چرا اصلا تو خروجی از تصویر خبری نیست؟؟؟؟ و کدوم خط میگه باهم برابر نیست a(i)=b؟؟؟؟؟؟؟؟؟؟؟؟؟
×
×
  • اضافه کردن...