首页 > 行业资讯 > 【图像重建】基于字典学习 W-KSVD图像低秩重建含Matlab源码

【图像重建】基于字典学习 W-KSVD图像低秩重建含Matlab源码

时间:2022-07-03 来源: 浏览:

【图像重建】基于字典学习 W-KSVD图像低秩重建含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #图像处理matlab源码 729个

1 简介

基 于超 完备字典的 图像稀疏表 示因其具有稀疏性、特征保持性 、可分性等特 点而被广 泛应用 于图像 处理 。本文利用 W-KSVD字典 学习算法并应用于 MR图像重建 。将 字典 学习等价于一 个二次规 划 问题 ,学习得到 的字典能有效描述图像特征。基于学习所得的字典,获得图像的稀疏表示,并重建原始图像.

2 部分代码

%========================================================================== % 函数功能: 显示图像块的字典-显示原子用NxM的网格 % 输入参数:D - 字典 % sz - 图像块的大小 % n,m - 网格区域的大小 % varargin -其它参数 % - lines:用黑线隔开字典原子 % - whitelines:用白线隔开字典原子 % - highcontrast:增加显示的对比度 % 输出参数:x - 返回字典图像的位矩阵 %========================================================================== function x = showdict(D,sz,n,m,varargin) % -------------------------- 检查输入参数 ---------------------------------- if (size(D, 2 ) < n*m) D = [D zeros(size(D, 1 ),n*m-size(D, 2 ))]; end linewidth = 1 ; highcontrast = 0 ; drawlines = 0 ; linecolor = 0 ; for i = 1 :length (varargin) if (~ischar(varargin{i})) continue; end switch(varargin{i}) case ’highcontrast’ highcontrast = 1 ; case ’lines’ drawlines = 1 ; case ’whitelines’ drawlines = 1 ; linecolor = 1 ; case ’linewidth’ linewidth = varargin{i+ 1 }; end end % ------------------------ 生成字典图像 ------------------------------------ if (drawlines) D = [D ; nan(sz( 1 )*linewidth,size(D, 2 ))]; sz( 2 ) = sz( 2 )+linewidth; x = col2im(D( : , 1 :n*m ),sz,[n m].*sz, ’distinct’ ); sz = [sz( 2 ) sz( 1 )]; D = im2col(x ’,sz,’ distinct ’); D = [D ; nan(sz(1)*linewidth,size(D,2))]; sz(2) = sz(2)+linewidth; x = col2im(D(:,1:n*m),sz,[m n].*sz,’ distinct ’); x = x’ ; x = x( 1 :end-linewidth , 1 :end-linewidth ); if (highcontrast) for i = 0 :n- 1 for j = 0 :m- 1 x(i*sz( 1 )+ 1 :i*sz ( 1 )+sz( 1 )-linewidth, j*sz( 2 )+ 1 :j*sz ( 2 )+sz( 2 )-linewidth) = ... imnormalize(x(i*sz( 1 )+ 1 :i*sz ( 1 )+sz( 1 )-linewidth, j*sz( 2 )+ 1 :j*sz ( 2 )+sz( 2 )-linewidth)); end end else x = imnormalize(x); end x(isnan(x)) = linecolor; else x = col2im(D( : , 1 :n*m ),sz,[n m].*sz, ’distinct’ ); if (highcontrast) for i = 0 :n- 1 for j = 0 :m- 1 x(i*sz( 1 )+ 1 :i*sz ( 1 )+sz( 1 ), j*sz( 2 )+ 1 :j*sz ( 2 )+sz( 2 )) = ... imnormalize(x(i*sz( 1 )+ 1 :i*sz ( 1 )+sz( 1 ), j*sz( 2 )+ 1 :j*sz ( 2 )+sz( 2 ))); end end else x = imnormalize(x); end end if (nargout== 0 ) imshow(x); end

3 仿真结果

4 参考文献

[1]穆瑞娟, 徐胜南, 王春兴. 基于低秩约束和字典学习的图像超分辨率重建[J]. 山东师范大学学报:自然科学版, 2016, 31(4):7.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐