utilities(matlab)—— visualizes filters(可视化滤波器)
2016-05-08 00:29
399 查看
function [h, array] = display_network(A, opt_normalize, opt_graycolor, cols, opt_colmajor) % This function visualizes filters in matrix A. Each column of A is a % filter. We will reshape each column into a square image and visualizes % on each cell of the visualization panel. % All other parameters are optional, usually you do not need to worry % about it. % opt_normalize: whether we need to normalize the filter so that all of % them can have similar contrast. Default value is true. % opt_graycolor: whether we use gray as the heat map. Default is true. % cols: how many columns are there in the display. Default value is the % squareroot of the number of columns in A. % opt_colmajor: you can switch convention to row major for A. In that % case, each row of A is a filter. Default value is false. warning off all if ~exist('opt_normalize', 'var') || isempty(opt_normalize) opt_normalize= true; end if ~exist('opt_graycolor', 'var') || isempty(opt_graycolor) opt_graycolor= true; end if ~exist('opt_colmajor', 'var') || isempty(opt_colmajor) opt_colmajor = false; end display(opt_normalize) % rescale A = A - mean(A(:)); if opt_graycolor, colormap(gray); end % compute rows, cols [L, M]=size(A); sz=sqrt(L); buf=1; if ~exist('cols', 'var') if floor(sqrt(M))^2 ~= M n=ceil(sqrt(M)); while mod(M, n)~=0 && n<1.2*sqrt(M), n=n+1; end m=ceil(M/n); else n=sqrt(M); m=n; end else n = cols; m = ceil(M/n); end array=-ones(buf+m*(sz+buf),buf+n*(sz+buf)); if ~opt_graycolor array = 0.1.* array; end if ~opt_colmajor k=1; for i=1:m for j=1:n if k>M, continue; end clim=max(abs(A(:,k))); if opt_normalize array(buf+(i-1)*(sz+buf)+(1:sz),buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:,k),sz,sz)/clim; else array(buf+(i-1)*(sz+buf)+(1:sz),buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:,k),sz,sz)/max(abs(A(:))); end k=k+1; end end else k=1; for j=1:n for i=1:m if k>M, continue; end clim=max(abs(A(:,k))); if opt_normalize array(buf+(i-1)*(sz+buf)+(1:sz),buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:,k),sz,sz)/clim; else array(buf+(i-1)*(sz+buf)+(1:sz),buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:,k),sz,sz); end k=k+1; end end end if opt_graycolor h=imagesc(array,'EraseMode','none',[-1 1]); else h=imagesc(array,'EraseMode','none',[-1 1]); end axis image off drawnow; warning on all
相关文章推荐
- SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇
- matlab中cell的用法
- utilities(matlab)—— normalize
- matlab处理lvm格式文本
- MATLAB GPU编程基础
- MATLAB2014a中help与参考页中文翻译(用于学习) cat
- win10系统中ASP.NET(VS2013)和MATLAB混编,调用MATLAB生成的.dll文件
- matlab 中的内联函数、匿名函数和函数函数
- 用Matlab的FDAtool生成IIR滤波器参数
- matlab debug
- matlab GUI入门实现字符串传递的功能
- MATLAB的符号运算基础
- SAR成像学习(五)方位向成像及matlab代码解析
- fprintf 输出矩阵到txt的方法
- matlab 字符串处理(单引号、拼接、char)
- matlab struct 结构体
- MATLAB的size()函数的返回值是一个1*2的向量哦,即使参数是向量也是1*2的向量哦!
- 要看懂MATLAB的Help需要积累的英文词汇!
- 深度学习入门级框架MatConvNet环境配置(Ubuntu14.04+Cuda7.5+Cudnn5+Matlab2014a)
- 构建复杂的应用程序(一)—— matlab