资源简介
显著性检测代码,显著性检测效果不错
代码片段和文件信息
function Saliency_Absorb_MC
%%
clear; tic;
addpath( ‘./SubCode/‘ );
Salmap = ‘./map/‘;
mkdir( Salmap );
imgpath = ‘./img/‘;
ImgEnum=dir([imgpath ‘*.jpg‘]); ImgNum=length(ImgEnum);
for i= 1 :ImgNum
i
imname = [ imgpath ImgEnum(i).name ];
Img = double( imread( imname ) );
[ heightwidth ] = size(Img(::1));
PixNum = height*width;
ImgVecR = reshape( Img(::1)‘ PixNum 1);
ImgVecG = reshape( Img(::2)‘ PixNum 1);
ImgVecB = reshape( Img(::3)‘ PixNum 1);
% m is the compactness parameter k is the super-pixel number in SLIC algorithm
m = 20; k = 500;
ImgAttr=[ height width k m PixNum ];
% obtain superpixel from SLIC algorithm: LabelLine is the super-pixel label vector of the image
% Sup1 Sup2 Sup3 are the mean L a b colour value of each superpixel
% k is the number of the super-pixel.
[ LabelLine Sup1 Sup2 Sup3 k ] = SLIC( ImgVecR ImgVecG ImgVecB ImgAttr );
Label=reshape(LabelLinewidthheight);
Label = Label‘; % the superpixle label
[ ConPix ConPixDouble ] = find_connect_superpixel_DoubleIn_Opposite( Label k height width );
% count the number of the edge in the graph
NumInit=0;
for j=1:k
for z=j+1:k
if ConPixDouble(jz)>0
NumInit=NumInit+1;
end
end
end
Dcol=zeros(NumInit3);
% calculate the edge weight
mm=1;
for j=1:k-1
for z=j+1:k
if ConPixDouble(jz)>0
DcolTem = sqrt( ( Sup1(j)-Sup1(z) ).^2 + ( Sup2(j)-Sup2(z) ).^2 + ( Sup3(j)- Sup3(z) ).^2 );
Dcol(mm 1: 3 )=[jzDcolTem ];
mm=mm+1;
end
end
end
DcolNor = normalize( Dcol(:3) );
weight = exp( -10*DcolNor ) + .00001;
WconFirst = sparse( [Dcol(:1);Dcol(:2)] [Dcol(:2);Dcol(:1)] [weightweight]k k );
WconFirst = full(WconFirst ) + eye(k); % the affinity matrix of the graph model
Discard = sum(WconFirst2);
DiscardPos = find( Discard < 1.1 ); % to discard the outlier
LenDiscardPos = length(DiscardPos);
EdgSup = Find_Edge_Superpixels( Label k height width WconFirst ConPix );
for j=1:LenDiscardPos
EdgSup( DiscardPos(j) ) = 2;
end
NumIn = k - length( find( EdgSup == 2 ) );
NumEdg = length( find( EdgSup==1 ) );
EdgWcon = zeros( k NumEdg );
mm=1;
for j=1:k
if EdgSup(j)==1
EdgWcon(:mm) = WconFirst(:j);
mm = mm + 1;
end
end
alph = 1; W=zeros(kk);
%%%%%%%%%%%% absorb MC
if NumIn == k
baseEdg = sum( EdgWcon 2 ) ;
D = diag( Discard + baseEdg );
Wcon = D \ WconFirst;
I = eye( NumIn );
N = ( I - alph* Wcon );
y = ones( NumIn 1 );
Sal = N \ y;
Sal = normalize(Sal);
else
baseEdg
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15742 2007-06-13 17:00 code_absorb_MC\img\0_1_1339.jpg
文件 42274 2007-06-13 17:00 code_absorb_MC\img\0_1_1427.jpg
文件 22666 2014-04-25 16:58 code_absorb_MC\img\1.jpg
文件 22771 2014-04-25 16:58 code_absorb_MC\img\2.jpg
..A.SH. 19968 2014-07-28 08:53 code_absorb_MC\img\Thumbs.db
文件 9363 2014-07-28 08:57 code_absorb_MC\map\0_1_1339.png
文件 18407 2014-07-28 08:57 code_absorb_MC\map\0_1_1427.png
文件 10337 2014-07-28 08:57 code_absorb_MC\map\1.png
文件 10679 2014-07-28 08:57 code_absorb_MC\map\2.png
..A.SH. 13824 2014-07-28 08:57 code_absorb_MC\map\Thumbs.db
文件 1346 2013-10-02 12:01 code_absorb_MC\read_me.txt
文件 6879 2014-07-28 08:56 code_absorb_MC\Saliency_Absorb_MC.m
文件 2333 2013-10-02 10:32 code_absorb_MC\SubCode\find_connect_superpixel_DoubleIn_Opposite.m
文件 1376 2013-10-02 10:40 code_absorb_MC\SubCode\Find_Edge_Superpixels.m
文件 2368 2013-10-02 11:40 code_absorb_MC\SubCode\normalize.m
文件 32892 2013-04-05 18:32 code_absorb_MC\SubCode\SLIC.cpp
文件 20480 2013-04-05 18:32 code_absorb_MC\SubCode\SLIC.mexw32
文件 32768 2013-04-06 11:48 code_absorb_MC\SubCode\SLIC.mexw64
文件 568 2013-04-05 20:06 code_absorb_MC\SubCode\sup2pixel.cpp
文件 7680 2013-04-05 20:17 code_absorb_MC\SubCode\sup2pixel.mexw32
文件 7168 2013-04-06 11:48 code_absorb_MC\SubCode\sup2pixel.mexw64
目录 0 2014-07-28 08:53 code_absorb_MC\img
目录 0 2014-07-28 08:57 code_absorb_MC\map
目录 0 2014-07-27 10:08 code_absorb_MC\SubCode
目录 0 2014-07-28 08:52 code_absorb_MC
----------- --------- ---------- ----- ----
301889 25
相关资源
- 非均匀快速傅里叶变换(nufft)最原始
- PSO_dg_prog
- matlab调用xfoil程序计算翼型升阻力力矩
- 卷积(convolutional )受限玻尔兹曼机(
- raw图转换为rgb图 (raw 2 rgb)
- MOPKSVD等算法的图像稀疏表示代码
- matlab实现的偏最小二乘PLS和一个实例
- 构造B样条小波和基于小波变换模极大
- matlab生成网格编号每个单元的节点号
- Enkf 卡尔曼程序
- PIO算法
- CSR sim 压缩感知雷达信号处理matlab仿真
- wind matlab 量化投资
- 基于PSO的PMU配置的简易实例 (PSO ba
- 计算信号LZ复杂度的MATLAB代码
- matlab一维条形码识别程序
- Spatial Econometrics MATLAB 软件包是将New
- jpg 2 rgb565 matlab code 实现将jpg格式的图
- matlab S-function 编写的离散状态空间表
- matlab重现 正弦信号 重复控制器
-
matlab radar simuli
nk system matlab雷达系统 - matlab图像质心提取
- 基于博弈论的认知无线电无线资源分
- surf算法的matlab代码
- RBF and svm matlab code matlab回归预测的源
- msd CPM多符号检测算法调制解调
- BP神经网络进行多分类matlab代码 (c
- matlab遗传算法 决车辆路径最优化问题
- matlab频域自适应滤波器(FDAF)演示
- reliefF算法的matlab源代码
评论
共有 条评论