]> AND Private Git Repository - these_gilles.git/blob - SFF/Training/sampleimages.m
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
modif finale lnivs + keywords
[these_gilles.git] / SFF / Training / sampleimages.m
1 % =================================================================
2 %  Sparse Feature Fidelity (SFF) Version 2.0
3 %  Copyright(c) 2013  Hua-wen Chang
4 %  All Rights Reserved.
5 % ----------------------------------------------------------------
6 % Please refer to the following paper
7 %
8 % Hua-wen Chang, Hua Yang, Yong Gan, and Ming-hui Wang, "Sparse Feature Fidelity
9 % for Perceptual Image Quality Assessment", IEEE Transactions on Image Processing,
10 % vol. 22, no. 10, pp. 4007-4018, October 2013
11 % ----------------------------------------------------------------------
12 % GET SAMPLE PATCHES FROM NATURAL IMAGES
13
14 % INPUT variables:
15 % samples            total number of patches to take
16 % patchSize          patch width in pixels
17
18 % OUTPUT variables:
19 % X                  the image patches as column vectors
20 %
21 % There are two sets of images for sampling and training data1 and data2
22 % =================================================================
23 function X = sampleimages(samples, patchSize)
24
25 dataNum = 9;
26 getsample = floor(samples/dataNum);
27 patchDim = (patchSize^2)*3;
28 X = zeros(patchDim,samples);
29
30 sampleNum = 1;  
31 for i=(1:dataNum)
32   if i==dataNum, getsample = samples-sampleNum+1; end
33   
34   I = imread(['data1/' num2str(i) '.ppm']);
35   I = double(I);
36   
37   % Sample patches in random locations
38   sizex = size(I,2); 
39   sizey = size(I,1);
40   posx = floor(rand(1,getsample)*(sizex-patchSize-2))+1;
41   posy = floor(rand(1,getsample)*(sizey-patchSize-1))+1;
42   for j=1:getsample
43     X(:,sampleNum) = reshape( I(posy(1,j):posy(1,j)+patchSize-1, posx(1,j):posx(1,j)+patchSize-1, 1:3),[patchDim 1]);
44     sampleNum=sampleNum+1;
45   end 
46   
47 end
48
49
50