2013-11-10 5 views
-1

Я применил независимый компонентный анализ набора изображений лиц с использованием FastICA. Я успешно получил независимые компоненты и матрицу смешивания. Значения независимых компонентов находятся в двух экземплярах, и я хочу отображать эти компоненты в виде изображений, доступных в Интернете, например, http://research.ics.aalto.fi/ica/imageica/. Я не знаю, как это показать.Независимый анализ компонентов как изображений

ответ

0

Попробуйте follwing функцию

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 
Смежные вопросы