12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- function modelConvert(model, outname)
- %% script for converting Piotr's matlab model into YAML format
- outfile = fopen(outname, 'w');
- fprintf(outfile, '%%YAML:1.0\n\n');
- fprintf(outfile, ['options:\n'...
- ' numberOfTrees: 8\n'...
- ' numberOfTreesToEvaluate: 4\n'...
- ' selfsimilarityGridSize: 5\n'...
- ' stride: 2\n'...
- ' shrinkNumber: 2\n'...
- ' patchSize: 32\n'...
- ' patchInnerSize: 16\n'...
- ' numberOfGradientOrientations: 4\n'...
- ' gradientSmoothingRadius: 0\n'...
- ' regFeatureSmoothingRadius: 2\n'...
- ' ssFeatureSmoothingRadius: 8\n'...
- ' gradientNormalizationRadius: 4\n\n']);
- fprintf(outfile, 'childs:\n');
- printToYML(outfile, model.child', 0);
- fprintf(outfile, 'featureIds:\n');
- printToYML(outfile, model.fids', 0);
- fprintf(outfile, 'thresholds:\n');
- printToYML(outfile, model.thrs', 0);
- N = 1000;
- fprintf(outfile, 'edgeBoundaries:\n');
- printToYML(outfile, model.eBnds, N);
- fprintf(outfile, 'edgeBins:\n');
- printToYML(outfile, model.eBins, N);
- fclose(outfile);
- gzip(outname);
- end
- function printToYML(outfile, A, N)
- %% append matrix A to outfile as
- %% - [a11, a12, a13, a14, ..., a1n]
- %% - [a21, a22, a23, a24, ..., a2n]
- %% ...
- %%
- %% if size(A, 2) == 1, A is printed by N elemnent per row
- if (length(size(A)) ~= 2)
- error('printToYML: second-argument matrix should have two dimensions');
- end
- if (size(A,2) ~= 1)
- for i=1:size(A,1)
- fprintf(outfile, ' - [');
- fprintf(outfile, '%d,', A(i, 1:end-1));
- fprintf(outfile, '%d]\n', A(i, end));
- end
- else
- len = length(A);
- for i=1:ceil(len/N)
- first = (i-1)*N + 1;
- last = min(i*N, len) - 1;
- fprintf(outfile, ' - [');
- fprintf(outfile, '%d,', A(first:last));
- fprintf(outfile, '%d]\n', A(last + 1));
- end
- end
- fprintf(outfile, '\n');
- end
|