无类别,图像混合放置:

  1. clear
  2. close all
  3.  
  4. addpath ./matlab
  5.  
  6. model= './models/bvlc_reference_caffenet/deploy.prototxt';
  7. weights= './models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel';
  8. mean = load('./matlab/+caffe/imagenet/ilsvrc_2012_mean.mat');
  9. net = caffe.Net(model, weights, 'test'); % create net and load weights
  10. mean_data = mean.mean_data;
  11.  
  12. net.blobs('data').reshape([ ]);
  13. net.reshape();
  14.  
  15. rt_img_dir='/ImageNet/ILSVRC2012_img_val/';
  16. rt_data_dir='ImageNet/Fea/ILSVRC2012_img_val/';
  17.  
  18. %disp('Extracting CNN features...');
  19.  
  20. frames = dir(fullfile(rt_img_dir, '*')); frames()=[]; frames()=[];
  21. c_num = length(frames);
  22. gray_num=;error_num_CMYK_JPEG=;
  23. % database.path=[];
  24.  
  25. for jj = :c_num,
  26. imgpath = fullfile(rt_img_dir, frames(jj).name);
  27. try
  28. %% prepare the image
  29. im_data = caffe.io.load_image(imgpath);
  30. %% subtract mean_data (already in W x H x C, BGR)
  31. width = ; height = ;
  32. im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
  33. feaSet.iscolor=;
  34. if size(im_data,)==
  35. imdata=zeros([size(im_data),]);
  36. imdata(:,:,)=im_data;
  37. imdata(:,:,)=im_data;
  38. imdata(:,:,)=im_data;
  39. im_data=imdata;
  40. feaSet.iscolor=;
  41. gray_num=gray_num+;
  42. end
  43. im_data = im_data - (mean_data);
  44.  
  45. width = ; height = ;
  46. im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
  47.  
  48. res = net.forward({im_data});
  49. fc6_data = net.blobs('fc6').get_data();
  50. fc7_data = net.blobs('fc7').get_data();
  51.  
  52. feaSet.fc6_data = fc6_data;
  53. feaSet.fc7_data = fc7_data;
  54.  
  55. [pdir, fname] = fileparts(frames(jj).name);
  56. fpath = fullfile(rt_data_dir, [fname, '.mat']);
  57.  
  58. save(fpath, 'feaSet');
  59. %database.path = [database.path; fpath];
  60. catch
  61. str= fullfile(frames(jj).name);
  62. disp(str);
  63. error_num_CMYK_JPEG=error_num_CMYK_JPEG+;
  64. error_CMYK_JPEG{error_num_CMYK_JPEG}=str;
  65. end
  66. end;

有类别,不同类图像按不同文件夹放置

  1.  
  2. clear
  3. close all
  4.  
  5. addpath ./matlab
  6.  
  7. model= './models/bvlc_reference_caffenet/deploy.prototxt';
  8. weights= './models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel';
  9. mean = load('./matlab/+caffe/imagenet/ilsvrc_2012_mean.mat');
  10. net = caffe.Net(model, weights, 'test'); % create net and load weights
  11. mean_data = mean.mean_data;
  12. %% obtain params in diff layers and show
  13. %pdata = net.params('conv1',).get_data();
  14. %vis_square(pdata,,0.5);
  15.  
  16. net.blobs('data').reshape([ ]);
  17. net.reshape();
  18.  
  19. rt_img_dir='mageNet/ILSVRC2012_img_train/';
  20. rt_data_dir='ImageNet/Fea/ILSVRC2012_img_train/';
  21.  
  22. disp('Extracting CNN features...');
  23. subfolders = dir(rt_img_dir);
  24.  
  25. siftLens = [];
  26.  
  27. database = [];
  28.  
  29. database.imnum = ; % total image number of the database
  30. database.cname = {}; % name of each class
  31. database.label = []; % label of each class
  32. database.path = {}; % contain the pathes for each image of each class
  33. database.nclass = ;
  34. error_num_CMYK_JPEG=;
  35. for ii = :length(subfolders),
  36. subname = subfolders(ii).name;
  37.  
  38. if ~strcmp(subname, '.') & ~strcmp(subname, '..'),
  39. database.nclass = database.nclass + ;
  40.  
  41. database.cname{database.nclass} = subname;
  42.  
  43. frames = dir(fullfile(rt_img_dir, subname, '*'));
  44. frames()=[];frames()=[];
  45. c_num = length(frames);
  46. database.imnum = database.imnum + c_num;
  47. database.label = [database.label; ones(c_num, )*database.nclass];
  48.  
  49. siftpath = fullfile(rt_data_dir, subname);
  50. if ~isdir(siftpath),
  51. mkdir(siftpath);
  52. end;
  53.  
  54. for jj = :c_num,
  55. imgpath = fullfile(rt_img_dir, subname, frames(jj).name);
  56. try
  57. im_data = caffe.io.load_image(imgpath);
  58. %% subtract mean_data (already in W x H x C, BGR)
  59. width = ; height = ;
  60. im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
  61. feaSet.iscolor=;
  62. if size(im_data,)==
  63. imdata=zeros([size(im_data),]);
  64. imdata(:,:,)=im_data;
  65. imdata(:,:,)=im_data;
  66. imdata(:,:,)=im_data;
  67. im_data=imdata;
  68. feaSet.iscolor=;
  69. gray_num=gray_num+;
  70. end
  71. feaSet.label= database.nclass;
  72.  
  73. im_data = im_data - (mean_data);
  74.  
  75. width = ; height = ;
  76. im_data = imresize(im_data, [width, height]); % resize using Matlab's imresize
  77.  
  78. res = net.forward({im_data});
  79. fc6_data = net.blobs('fc6').get_data();
  80. fc7_data = net.blobs('fc7').get_data();
  81.  
  82. feaSet.fc6_data = fc6_data;
  83. feaSet.fc7_data = fc7_data;
  84.  
  85. [pdir, fname] = fileparts(frames(jj).name);
  86. fpath = fullfile(rt_data_dir, subname, [fname, '.mat']);
  87.  
  88. save(fpath, 'feaSet');
  89. catch
  90. str= fullfile(subname,frames(jj).name);
  91. disp(str);
  92. error_num_CMYK_JPEG=error_num_CMYK_JPEG+;
  93. error_CMYK_JPEG{error_num_CMYK_JPEG}=str;
  94. end
  95.  
  96. end;
  97. end;
  98. end;

matlab 批量提取CNN特征的更多相关文章

  1. 原来CNN是这样提取图像特征的。。。

    对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学 ...

  2. CNN基础二:使用预训练网络提取图像特征

    上一节中,我们采用了一个自定义的网络结构,从头开始训练猫狗大战分类器,最终在使用图像增强的方式下得到了82%的验证准确率.但是,想要将深度学习应用于小型图像数据集,通常不会贸然采用复杂网络并且从头开始 ...

  3. Python 超简单 提取音乐高潮(附批量提取)

    很多时候我们想提取某首歌的副歌部分(俗称 高潮部分),只能手动直接卡点剪切,但是对于大批量的获取就很头疼,如何解决? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后 ...

  4. 寻找与疾病相关的SNP位点——R语言从SNPedia批量提取搜索数据

    是单核苷酸多态性,人的基因是相似的,有些位点上存在差异,这种某个位点的核苷酸差异就做单核苷酸多态性,它影响着生物的性状,影响着对某些疾病的易感性.SNPedia是一个SNP调査百科,它引用各种已经发布 ...

  5. python实现gabor滤波器提取纹理特征 提取指静脉纹理特征 指静脉切割代码

    参考博客:https://blog.csdn.net/xue_wenyuan/article/details/51533953 https://blog.csdn.net/jinshengtao/ar ...

  6. matlab批量读取一个文件夹里类似命名的mat文件

    参考网址: Matlab读取同一路径下多个txt或mat文件总结 matlab 批量读取数据文件.mat .dat 整理:matlab批量读入数据文件的方法 首先命名方式体现在只是名字里数字有变化,其 ...

  7. PDF文本内容批量提取到Excel

    QQ:231469242,版权所有 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269 ...

  8. 使用matlab批量处理图像后在指定文件夹存储

    使用matlab批量处理图像后在指定文件夹存储 clear;clc;close all; Files=dir('D:\文件及下载相关\文档\MATLAB\postgraduate\Kodak\*.jp ...

  9. VGG16提取图像特征 (torch7)

    VGG16提取图像特征 (torch7) VGG16 loadcaffe torch7 下载pretrained model,保存到当前目录下 th> caffemodel_url = 'htt ...

随机推荐

  1. VBA续嘘嘘

    什么是VBA?它有什么作用? A.实现Excel中没有实现的功能. B.提高运行速度. C.编写自定义函数. D.实现自动化功能. E.通过插入窗体做小型管理软件. VBA在哪里存放的?怎么运行? A ...

  2. wordpress 首页调用文章 不同样式的方法

    <?php $count = 1; $display_categories = array(1); foreach ($display_categories as $category) { ?& ...

  3. 《Pro Express.js》学习笔记——app.params中间件

    app.param中间件用于对URL中的参数进行获取.加工.输出,提供公有逻辑,以达到代码重构的目的. 以下示例采取三个步骤对代码进行重构,app.param中间件的作用非常明显: 不使用中间件 使用 ...

  4. js动画之平抛运动

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Raspberry Pi Resources-Using the UART

    参考:RPi Serial Connection 本文来自:http://www.raspberry-projects.com/pi/programming-in-c/uart-serial-port ...

  6. JavaScript 基础知识之对比记忆学习

    1.  alter修改(易写混),alert警告 alert 函数语法:alert(str);str字符串用单引号或双引号隔开 2.标识符和关键字 标识符:由不以数字开头的字母.数字.下划线.$组成. ...

  7. linux内核学习之三 跟踪分析内核的启动过程

    一   前期准备工作       1 搭建环境 1.1下载内核源代码并编译内核 创建目录,并进入该目录: 下载源码: 解压缩,并进入该目录:xz -d linux-3.18.6.tar.xz tar ...

  8. select跳转页面

    跳转到当前页: <select name="here " onchange="location.href=this.options[this.selectedInd ...

  9. Adobe Reader/Acrobat修改页面底色为豆沙绿

    Adobe Acrobat_Pro_8修改PDF页面底色为豆沙绿保护视力(同样适用于Adobe Reader) http://jingyan.baidu.com/article/9989c746189 ...

  10. Java泛型学习笔记 - (一)泛型的介绍

    一.什么是泛型:泛型的作用是用来规定一个类, 接口或方法所能接受的数据的类型. 就像在声明方法时指定参数一样, 我们在声明一个类, 接口或方法时, 也可以指定其"类型参数", 也就 ...