-1

FastICA を使用して、一連の顔画像に独立成分分析を適用しました。独立成分と混合行列の取得に成功しました。独立したコンポーネントの値は double であり、これらのコンポーネントをhttp://research.ics.aalto.fi/ica/imageica/などの Web で利用可能な画像として表示したいと考えています。これを示す方法がわかりません。

4

2 に答える 2

1

これをより自動的に行う方法の 1 つは、montage関数を使用することです。または、 をご覧くださいsubimageこの StackOverflow の質問と回答も参照してください。

于 2013-11-10T19:08:32.447 に答える
0

次の機能を試してください

function [XX,fh]=dispImgs(X,cols,gap,ihw,fh)
% Courtesy A. Leonardis, D. Skocaj
% see http://vicos.fri.uni-lj.si/danijels/downloads

[M,N]=size(X);
if nargin<2 cols=floor(sqrt(N)); end;
if nargin<3 gap=0; end;
if nargin<4 ihw=[sqrt(M),sqrt(M)]; end;
if nargin<5 fh = figure; end; % new figure

ih=ihw(1);iw=ihw(2);
maxv=max(X(:));
rows=floor(N/cols);
XX=zeros((rows*ih)+(rows-1)*gap,(cols*iw)+(cols-1)*gap)+maxv;

for i=1:N
   a=(iw+gap)*mod(i-1,cols)+1;
   b=(iw+gap)*mod(i-1,cols)+iw;
   c=(ih+gap)*(floor((i-1)/cols))+1;
   d=(ih+gap)*(floor((i-1)/cols))+ih;
   XX(c:d,a:b)=reshape(X(:,i)',ih,iw);
end;

xxmax=max(XX(:));
xxmin=min(XX(:));

fh = figure(fh);
imshow((XX-xxmin)/(xxmax-xxmin));
axis off;

例:

X: imsize by N
dispImgs( X, 8, 4, imsize );%show all N images in 8 columns with Gap=4 
于 2014-08-04T15:51:12.643 に答える