MATLAB显示slic,quickshift超像素分割结果图
首先介绍vlfeat库函数:vl_slic,vl_quickshift,vl_quckseg
vl_slic SLIC superpixels
- segments = vl_slic(im,regionsize,regularizer)
- segments:每个像素值是超像素标号
- regionsize:超像素的起始大小
- regularizer:用于聚类时控制超像素呈现的空间规则性,值越大超像素块越规则
- im:需要转为single类型
vl_quickshift Quick shift image segmentation
- [map,gaps] = vl_quickshift(im, kernelsize, maxdist)
- [map, gaps] = vl_quickshift(I, kernelsize)
- [map, gaps,e] = vl_quickshift(I, kernelsize, maxdist)
- kernelsize:估计density的Parzen window的bandwidth
- maxdist:控制所连接邻域的最大L2距离
- map和gaps代表结果forest的trees:map每个像素表示forest的parent元素,gaps包含对应的分支长度
vl_quickseg Produce a quickshift segmentation of a grayscale or color image
- vl_quickseg要调用vl_quickshift
- [iseg, labels, maps, gaps, e] = vl_quickseg (im, ratio, kernelsize, maxdist)
- iseg:color image。每个像素被其区域平均color标记
- labels:labeled image。标号为类别号
- maps:pointer。指向最近的增大其density估计值的像素
- gaps:distance。距最近的增大其density估计值的像素的距离
- e:density的估计值
- im:需要转换为double类型
- kernelsize:标准差
- maxdist:tree nodes之间的最大距离。用于cut links in the tree to 构成分割结果
- ratio:空间一致性和颜色一致性之间的比率。ratio越小空间比重越大,空间距离在归一化之前计算。类似vl_slic参数regularizer,不过ratio越小超像素块越规则
对于vl_slic得到的segments或者labels,可以有以下两种方式显示超像素分割结果
1、以颜色标记形式显示:imagesc();
imagesc(SEGMENTS); %Scale data and display image object
axis equal off tight; %关闭坐标
colormap gray; %以灰度图形式显示
2、显示超像素边界:vl_grad()求梯度,“|”逻辑或——找边界
[sx,sy]=vl_grad(double(SEGMENTS), 'type', 'forward') ; %求梯度
s = find(sx | sy) ; % or - Find logical OR
imp = im ;
imp([s s+numel(im(:,:,1)) s+2*numel(im(:,:,1))]) = 255 ; %边界置为白色
imshow(imp);
颜色形式。
边界形式。
%完整代码
im=imread('CASE1.bmp');
REGIONSIZE=25;
REGULARIZER=0.05;
[m,n,c]=size(im);
if(c==1)im=cat(3,im,im,im);
end
I = vl_rgb2xyz(im);
I_single = single(I);
SEGMENTS = vl_slic(I_single, REGIONSIZE, REGULARIZER);
imagesc(SEGMENTS);
axis equal off tight;
colormap gray;
[sx,sy]=vl_grad(double(SEGMENTS), 'type', 'forward') ;
s = find(sx | sy) ;
imp = im ;
imp([s s+numel(im(:,:,1)) s+2*numel(im(:,:,1))]) = 255 ;
figure;imshow(imp);
MATLAB显示slic,quickshift超像素分割结果图相关推荐
- SLIC图像超像素分割算法解析
转载自http://blog.chinaunix.net/uid-29431466-id-4831314.html 1 概述 SLIC 即simple linear iterative cluster ...
- VLFeat SLIC超像素分割(Cpp版)
这段时间对VLFeat的C接口非常的感兴趣,以前用的都是其Matlab接口,虽然很方便,而且提供的Matlab接口要比C接口功能更强大,但Matlab终归只能用来做一下快速的方法验证,所以想比较完整的 ...
- SLIC超像素分割的算法介绍和源码分析
前述 最近在看显著性检测,发现很多算法的基础是超像素分割,而正在看的Saliency Optimization from Robust Background Detection算法的预处理是SLIC算 ...
- SLIC超像素分割详解
SLIC超像素分割详解(一) 超像素概念是2003年Xiaofeng Ren提出和发展起来的图像分割技术,是指具有相似纹理.颜色.亮度等特征的相邻像素构成的有一定视觉意义的不规则像素块.它利用像素之间 ...
- 图像分割:Python的SLIC超像素分割
图像分割:Python的SLIC超像素分割 1. 什么是超像素? 2. 为什么超像素在计算机视觉方面有重要的作用? 3. 简单线性迭代聚类(SLIC) 4. 效果图 5. 源码 参考 1. 什么是超像 ...
- julia 调用python库_Julia调用Python实现超像素分割SLIC算法
最近想要在julia中实现 Simple Linear Iterative Clustering (SLIC) 算法对图像进行超像素分割,关于SLIC超像素分割算法,请参考SLIC Superpixe ...
- SLIC超像素分割方法
为了方便查找,记录SLIC超像素分割方法的介绍 简介 关键代码分析 应用
- SLIC 超像素分割详解(三):应用
看过上面的介绍后,我们应该思考一下:分割好的超像素有什么用?怎么用?用到哪里? 首先,超像素可以用来做跟踪,可以参考卢湖川课题组发表在IEEE TIP上的<Robust superpixeltr ...
- 超像素分割(Slic算法)——个人梳理
一.使用背景 我在进行乳腺癌图像识别的学校项目中,参考了山东大学的硕士论文,并希望加以简化复现,此论文会在文末附上.项目要求我们需要对乳腺癌图片进行分类(无肿瘤,良性肿瘤,恶性肿瘤),参照论文所说,我 ...
最新文章
- ETSI MEC — 参考架构模型
- Docker容器安装配置
- 关于火狐中ashx中输出javascript一闪而过的问题
- 广义相对论与量子力学的矛盾
- libsvm使用方法总结
- 逆向工程核心原理学习笔记(二):字符串检索法查找main函数
- 使用Css截取字符串
- mysql 左连接b表的一条数据_阿里java架构师教你怎么用mysql怒怼面试官
- php mvc urlencode,PHP – LIUGUOFENG
- nginx访问页面 中文乱码 解决方案
- 知道端口号如何查看应用位置
- SAS 146GB*8 RAID5数据恢复过程(HP 双循环)
- 第一节:分布式文件系统(DFS,Distributed File System)
- 华尔街为何热捧优酷网?
- git整理——廖雪峰教程笔记
- 万恶淫为首,你想知道的真相!
- java fop_java – 未找到类FOP
- ANSYS WORKBENCH基础学习之应力奇异及位移结果对比
- bilibili源代码泄露,go-common
- python文件写入后,但文件还是空白