【计算机视觉领域】常用的 feature 提取方法,feature 提取工具包

  利用 VL 工具包进行各种特征的提取:

  VL 工具包官网地址:http://www.vlfeat.org/index.html

%% Extract Every kind of Features
% the VL_tool box for feature extraction.
clc;
run('/home/wangxiao/Documents/MATLAB/vlfeat-0.9.20-bin/vlfeat-0.9.20/toolbox/vl_setup.m')
imagePath = '/home/wangxiao/Documents/Sun-80-dataset/Sun_80_dataset/train_image_sun_256_256/' ;
Labeled_data = importdata('/home/wangxiao/Documents/Sun-80-dataset/Sun_80_dataset/SUN100_Label_train_0.5_.txt');
Unlabel_data = importdata('/home/wangxiao/Documents/Sun-80-dataset/Sun_80_dataset/SUN100_Unlabel_train_0.5_.txt');

for i = 1:size(Labeled_data.data, 1)
imageName = Labeled_data.textdata{i, 1};
% image = imread([imagePath, imageName]);

image = imread('/home/wangxiao/Pictures/wallhaven-382471.png');
image = imresize(image, [224, 224]);
% change the image into single precision.
figure; imshow(image);
imgs = im2single(rgb2gray(image)) ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use vl_covdet to compute and visualize co-variant features.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
frames = vl_covdet(imgs, 'verbose') ;
hold on ;
vl_plotframe(frames) ; % visualize the features.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use vl_hog to extract the hog feature.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cellSize = 8 ;
hog = vl_hog(imgs, cellSize, 'verbose') ;
imhog = vl_hog('render', hog, 'verbose') ;
clf ; imagesc(imhog) ; colormap gray ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use vl_sift to extract the sift feature.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[f,d] = vl_sift(imgs) ;
perm = randperm(size(f,2)) ;
sel = perm(1:50) ;
h1 = vl_plotframe(f(:,sel)) ;
h2 = vl_plotframe(f(:,sel)) ;
set(h1,'color','k','linewidth',3) ;
set(h2,'color','y','linewidth',2) ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% use vl_mser to extact the mser feature.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I = uint8(rgb2gray(image)) ;
[r,f] = vl_mser(I,'MinDiversity',0.7,...
'MaxVariation',0.2,...
'Delta',10) ;
f = vl_ertr(f) ;
vl_plotframe(f) ;

M = zeros(size(I)) ;
for x=r'
s = vl_erfill(I,x) ;
M(s) = M(s) + 1;
end
figure(2) ;
clf ; imagesc(I) ; hold on ; axis equal off; colormap gray ;
[c,h]=contour(M,(0:max(M(:)))+.5) ;
set(h,'color','y','linewidth',3) ;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% use vl_quickseg to execute Quick shift.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

I = uint8(rgb2gray(image));
ratio = 0.5;
kernelsize = 2;
maxdist = 50;
ndists = 10;
Iseg = vl_quickseg(I, ratio, kernelsize, maxdist);
Iedge = vl_quickvis(I, ratio, kernelsize, maxdist, ndists) ;
imagesc(Iedge);
axis equal off tight;
colormap gray;

end

【计算机视觉领域】常用的 feature 提取方法,feature 提取工具包的更多相关文章

  1. 从CVPR 2014看计算机视觉领域的最新热点

    编者按:2014年度计算机视觉方向的顶级会议CVPR上月落下帷幕.在这次大会中,微软亚洲研究院共有15篇论文入选.今年的CVPR上有哪些让人眼前一亮的研究,又反映出哪些趋势?来听赴美参加会议的微软亚洲 ...

  2. 从CVPR 2014看计算机视觉领域的最新热点

    2014看计算机视觉领域的最新热点" title="从CVPR 2014看计算机视觉领域的最新热点"> 编者按:2014年度计算机视觉方向的顶级会议CVPR上月落下 ...

  3. 曼孚科技:AI自然语言处理(NLP)领域常用的16个术语

    ​自然语言处理(NLP)是人工智能领域一个十分重要的研究方向.NLP研究的是实现人与计算机之间用自然语言进行有效沟通的各种理论与方法. 本文整理了NLP领域常用的16个术语,希望可以帮助大家更好地理解 ...

  4. 曼孚科技:AI算法领域常用的39个术语(下)

    算法是人工智能(AI)核心领域之一. 本文整理了算法领域常用的39个术语,希望可以帮助大家更好地理解这门学科. 本文为下半部分,上半部分见本账号上一篇文章. 19.迁移学习(Transfer Lear ...

  5. 曼孚科技:AI算法领域常用的39个术语(上)

    ​算法是人工智能(AI)核心领域之一. 本文整理了算法领域常用的39个术语,希望可以帮助大家更好地理解这门学科. 1. Attention 机制 Attention的本质是从关注全部到关注重点.将有限 ...

  6. 曼孚科技:AI语音交互领域常用的4个术语

    ​语音交互是基于语音输入的新一代交互模式,比较典型的应用场景是各类语音助手. 本文整理了语音交互领域常用的4个术语,希望可以帮助大家更好地理解这门学科. 1. 语音合成标记语言(SSML) 语音合成标 ...

  7. 曼孚科技:AI机器学习领域常用的15个术语

    机器学习是人工智能(AI)的核心,是使计算机具有智能的根本途径.​ 本文整理了一下机器学习领域常用的15个术语,希望可以帮助大家更好的理解这门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多个领 ...

  8. 三维计算机视觉 — 中层次视觉 — Point Pair Feature

    机器人视觉中有一项重要人物就是从场景中提取物体的位置,姿态.图像处理算法借助Deep Learning 的东风已经在图像的物体标记领域耍的飞起了.而从三维场景中提取物体还有待研究.目前已有的思路是先提 ...

  9. paper 61:计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接

    转载出处:blog.csdn.net/carson2005 以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV ...

随机推荐

  1. AFNETWorking3.x实战教程

    上一篇文章介绍了优秀的第三方网络请求框架AFNETWorking2.0,本篇就通过一个实战例子来总结AFNetworking的使用. 本文参考http://www.raywenderlich.com/ ...

  2. Unichar, char, wchar_t

    之前总结了一些关于字符表示,以及字符串的知识. 现在在看看一些关于编译器支持的知识. L"" Prefix 几乎所有的编译器都支持L“” prefix,一个字符串如果带有L“”pr ...

  3. poj1651 区间dp

    //Accepted 200 KB 0 ms //dp区间 //dp[i][j]=min(dp[i][k]+dp[k][j]+a[i]*a[k]*a[j]) i<k<j #include ...

  4. GCD的用法

    单例的实现 + (BindingRedResourceWIndow *)sharedInstance { static id sharedInstance = nil; static dispatch ...

  5. ulink 固件更新问题

    1前言 ulink版本升级.. 当使用keil4.7.4版本时,ulink固件库更新了. 2官方资料解释: Boot Mode Utility Home » Appendix » Utilities  ...

  6. jsCodeWar 多函数嵌套调用

    function compose(f, g) { return function() { return f(g.apply(this, arguments)); }; } --- function c ...

  7. Java custom annotations

    Custom annotation definition is similar as Interface, just with @ in front. Annotation interface its ...

  8. 【LeetCode OJ】Sum Root to Leaf Numbers

    # Definition for a binary tree node # class TreeNode: # def __init__(self, x): # self.val = x # self ...

  9. XMPP即时通讯

    XMPP:XMPP是基于XML的点对点通讯协议,The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议). XMPP可用于服务类实时通讯,表 ...

  10. php 数组 添加元素、删除元素

    拆分数组 PHP数组添加一个元素的方式: push(), arr[], Php代码 $arr = array(); array_push($arr, el1, el2 ... eln); 但其实有一种 ...