vl_Feat---vl_slic的使用
刚开始用这个函数很困惑,为什么生成的不是superpixel
% im contains the input RGB image as a SINGLE array regionSize = 10 ; regularizer = 10 ; segments = vl_slic(im, regionSize, regularizer) ;
按照教程使用后得到的是一个uint32的矩阵,相同的一个数的为一个superpixel
所以需要自己编程实现这个显示过程,参照 http://davidstutz.de/running-vlfeats-slic-superpixels-using-cmake-c/ 这里提供的C 代码
我写了一个Matlab 版本的函数
方法一:
function [ o ] = segment_slic( IMG )
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
%IMG 为图片路径
%o 为输出图像
I = vl_rgb2xyz(imread(IMG));
I_single = single(I);
segments = vl_slic(I_single, 30, 0.1) ;
[m n] = size(segments);
for i=1:mfor j = 1:nlabel = segments(i,j);labelTop = label;if i>1labelTop = segments(i-1,j);endlabelBottom = label;if i<m-1labelBottom = segments(i+1,j);endlabelLeft = label;if j > 1 labelLeft = segments(i,j - 1);endlabelRight = label;if j < n-1 labelRight = segments(i,j + 1);endif label ~= labelTop || label ~= labelBottom || label ~= labelLeft || label ~= labelRightI(i,j,1)=0;I(i,j,2)=0;I(i,j,3)=0;endendo = I;
endend
实现效果:
方法二:
参看例子发现有更简便的方法:
求的是梯度。。。确实是好想法
function [ o ] = segment_slic( IMG ,SIZE,RATE)
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
%IMG 为图片路径
%o 为输出图像I = vl_rgb2xyz(imread(IMG));
II = (imread(IMG));
im=II;I_single = single(I);
segments = vl_slic(I_single, SIZE, RATE) ;
[sx,sy]=vl_grad(double(segments), 'type', 'forward') ;s = find(sx | sy) ;imp = II ;imp([s s+numel(im(:,:,1)) s+2*numel(im(:,:,1))]) = 0 ;o = imp;end
vl_Feat---vl_slic的使用相关推荐
- matlab错误:vl_feat工具箱问题
1.重新下载一份vl_feat 2.在命令窗中输入:run('you_own_path\vlfeat-0.9.20\toolbox\vl_setup.m'); 3.测试vl_feat工具箱是否配置成功 ...
- SIFT介绍与matlab+VL_feat实现
目录 sift特征提取步骤 1. 建立高斯差分金字塔 2.关键点(keypoint)位置的确定 3. 去除不好的特征点(非极大值抑制) 一.下载VLFeat的binary包: 二.解压vlfeat ...
- SIFT算法用VL_feat库实现(matlab)
sift算法是非常经典的特征提取算法,之后可以用于 对应特征匹配,从而进行图像拼接,求图像之间的转换矩阵,三维重建等工作.最近上课学习了这个算法,本打算能手敲源码,后来还是选择了调包,真香~ 毕竟前人 ...
- 为什么SLIC算法得到的超像素个数和预期的不一致
为什么SLIC代码得到的超像素个数和预期的不一致 VL_Feat库中的SLIC代码由Andrea Vedaldi给出,Xu于2017年提出的带有部分改进的针对高光谱图像的SLIC算法,将欧氏距离改为S ...
- 运行iDT算法代码及后续特征编码
DT&IDT算法应该算是行为识别领域中经典中的经典了,自从13年提出以来,在HMDB-51和UCF-101等若干个数据库上得到了非常好的效果,虽然DT&IDT算法做不过深度学习,但是由 ...
- 使用vl_sift提取图像特征
1. 载入图像 >> I=imread('28.jpg'); >> image(I); 2. vl_sift函数的输入是一个单精度的灰度图像,灰度值区间归一化到[0, 255] ...
- matlab怎么提取特征,matlab – 了解提取特征的编码
我关注的编码是fisher编码,因为我已经证明我的工作效果最好.所以我想在我提取的(SIFT)功能上测试Fisher编码,并测试系统的性能,无论是否编码. 而不是重新开始我发现vl_feat有一个用于 ...
- 用词袋(bag of word)实现场景识别
前段时间在standford university的计算机视觉:算法与应用这门课上做了一个小作业--利用词袋实现场景识别(Scene recognition with bag of words),下面 ...
- Invalid MEX-file 'C:\Users\zs\Desktop\CSR-DCF\mex\mex_extractforeground.mexw64': 找不到指定模块
在Windows平台下 在使用MATLAB编译c++源程序,生成相应的格式后,在调用的时候,有的时候会出现这样的错误:Invalid MEX-file 'C:\Users\zs\Desktop\CSR ...
- MATLAB显示slic,quickshift超像素分割结果图
首先介绍vlfeat库函数:vl_slic,vl_quickshift,vl_quckseg vl_slic SLIC superpixels segments = vl_slic(im,regio ...
最新文章
- server的自增主键返回函数 sql_mybatis+sqlserver中返回非自增主键
- Python 日常练习1
- 3.2 亿人都在刷抖音,而优秀的人在看这些公众号
- CSS3:FlexBox的详解
- Visual Studio 2017全面上市
- LeetCode 1348. 推文计数(哈希map+set)
- Python开发——安装requests第三方库
- concurrenthashmap是什么锁_JDK1.8 util-concurrent-ConcurrentHashMap源码分析
- 职高计算机应用项目教程教案,高职院校计算机应用基础教学设计
- OpenCV图像直方图案例
- Python卸载报错:No Python 3.8 installation was detected
- mysql字符集修改(ubuntu)
- python2线程池_python 线程池
- 使用ESP32 + HaaS Python打造运动心率检测系统 云上实时守护运动健康
- 最近整理的一些常见的面试题,面试大全,黑马程序员面试宝典题库---框架--篇
- max_allowed_packet Mysql 5.1遇到的信息包过大问题
- ESP8266 下载模式 GPIO 研究
- 123456123456#5#----com.zzj.DinosourKnown235---前拼show后广--恐龙百科-333333
- Kafka是如何实现高性能的?
- C语言实现QQ聊天室小项目 [完整源码]