在caffe ImageNet例子中有对图片进行resize的部分,文中使用的是linux shell脚本命令:

for name in /path/to/imagenet/val/*.JPEG; do

convert -resize 256x256\! $name $name

done

但该命令在运行后光标就一直处于等待状态,直到所有的图片全部运行结束。这种情况在图片数量比较大时就很恼人(对于ILSVRC2012数据集中的100多万张图片来说,这种状态可能会持续好几天),你不知道程序的运行状况,不知道处理了多少图片,不知道程序大概什么时候能结束。

因此,本文采用matlab语言中的并行机制来实现图片尺寸的批量resize。

代码如下:

clear;clc;close all;

tic; % 用于计算程序运行时间,和toc搭配使用

CoreNum=6; % cpu核的数量

% 下面代码块为并行处理检测与开启程序,需要在执行结束后予以关闭

if matlabpool('size')<=0

matlabpool('open','local',CoreNum);

else

disp('Already initialized');

end

imagePath = 'rastaPlpSpec/train/'; % 图片存放路径

imageFiles = dir(imagePath);

numFiles = length(imageFiles);

parfor i=3:numFiles % 从3开始,因为前两个是当前路径‘.’和上一级路径‘..’

j = i-2;

disp(j);

imageFile = strcat(imagePath,imageFiles(i).name);

A = imread(imageFile);

B = imresize(A,[256 256]); % resize为256x256

imwrite(B,imageFile); % 覆盖原始图片,若需要另存为,则修改此处的imageFile为新的存储路径

end

matlabpool close % 关闭并行

toc; % 显示运行时间

在该代码中,因为我的cpu有6个核,所以设置CoreNum=6。

如果我有两个物理cpu,每个有6个核,那么我这里是否可以设置CoreNum=12呢,这样效率会不会成倍提升?由于对matlab的并行处理了解不多,这里就留个疑问,等我知道后再补充,有知道的欢迎交流。

—————————————————————————————————————————————

在linux中关于cpu的相关信息都在文件/proc/cpuinfo中,用户可以直接查看该文件或使用下面的命令显示需要的信息:

1. 显示物理cpu个数

cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l

显示每个物理cpu的核数

cat /proc/cpuinfo | grep 'cpu cores' | uniq

显示逻辑cpu的个数

cat /proc/cpuinfo | grep 'processor' | wc -l

其中: 总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

matlab 图片 并行,图片尺寸批量resize的matlab并行代码相关推荐

  1. matlab的spm,医学图像的批量配准(Matlab,SPM),医学影像,matlabSPM

    医学影像批量配准,matlab 代码 配准后的文件与配准前的文件保存在统一目录下,命名以'r'开头. %------------------------------------------------ ...

  2. pytorch实现批量resize图片尺寸

    python实现对图片尺寸进行resize的完整代码,包含对一个目录下的所有图片的读取,resize,和重新存储: import torch.utils.data as data from glob ...

  3. 一刀工具箱 - 图片尺寸批量修改工具

    一刀工具箱是一款集合多个实用工具的智能APP,包含100多种不同的功能,基本满足您在工作生活使用需求,只需要一个应用就可以解决日常小问题,不再需要下多个应用 1.打开一刀APP,进行APP首页,点击& ...

  4. 图片采集-输入关键词批量收集图片免费

    图片采集,有一个免费的图片采集软件就可以寻找网页上的各种图片,每个人都可以找到各种高清图源.支持任意格式的图片采集下载,只需要输入关键词或批量导入链接即可采集下载图片.不仅可以拥有大量的图片源还支持批 ...

  5. Python批量处理表格有用吗_python批量读入图片、处理并批量输出(可用于深度学习训练集的制作)...

    最近工作实在是太忙了,白浪花的项目没有及时跟进,很多知识也没有自学.好了,趁着现在等领导回复微信的时间,我把上周趁着零散时间做的工作总结一下.内容依然小白,但是却很重要. 项目情况简单描述一下,最终要 ...

  6. 图片怎么缩小尺寸比例不变?

    图片怎么缩小尺寸比例不变?不管是在工作中还是在学习中,我们每天都要接触和使用到很多的图片,也会对图片做各种处理,修改图片尺寸就是比较常见的一种操作.当图片尺寸偏大不适合我们的使用需求时,就需要将尺寸变 ...

  7. MATLAB 绘制论文图片格式设置万能代码模板

    绘图在数学建模.撰写论文时是必不可少的,MATLAB 就是其中一个非常实用的工具.这次给大家分享一个我收藏并用了很久的万能MATLAB绘图模板,本人曾用这个模板绘制过数模国赛.美赛以及电磁杯论文中的绝 ...

  8. 免费图片下载-海量图片一键批量下载免费

    免费图片下载,今天给大家分享一款免费的图片批量下载软件,支持任意格式的图片批量采集下载,只需要输入关键词或批量导入链接即可下载图片.同时还可以批量采集任意网页上的图片,每个人都可以拥有各种高清图源.支 ...

  9. android引导页图片全屏适配,关于图片适配不同尺寸的image View(实战)

    分享人:广州华软佐罗 一. 前言 在前端开发过程中,设计稿中往往只提供一张图片,但是app内需要用到的尺寸各种各样. 同时图片不仅是信息的直接表达,也会为网站起到美观点缀的作用,图片的变形.过分裁切会 ...

最新文章

  1. Postgresql 物理热备份 -- PITR 时间点恢复(Point In Time Recovery)
  2. 深入理解分布式技术 - 负载均衡实现之一致性哈希算法
  3. 谈谈对Canal( 增量数据订阅与消费 )的理解
  4. jzoj4223-旅游【并查集】
  5. arraylist内存溢出_ArrayList使用内存映射文件
  6. 判断是否为质数的超级优化 C++语言(超详细)
  7. 花瓣网方砖布局 图片内容无限加载 用户体验才是王道
  8. 试题5 算法训练 猴子吃包子
  9. linux 中特殊权限,Linux SetGID(SGID)文件特殊权限用法详解
  10. java项目开发——使用MAP和实体类作为参数的优缺点
  11. [深度学习] fast-reid入门教程
  12. 【python】词云图制作
  13. Excel数据透视表怎么做
  14. dw中html是什么,dw中的css是什么意思?
  15. 如何批量导出QQ空间相册到电脑中
  16. 教你用python截屏APP,将截取到的图片进行文字识别并将信息保存在EXCEL中。(附源码)
  17. xp系统显示无打印机服务器,Xp系统显示“Windows无法打开添加打印机”的处理方法...
  18. day04,字典的操作
  19. Java判断Long类型相等问题
  20. Ext4 超级块详解

热门文章

  1. java获取当前时间(年月日)
  2. ecshop做淘宝客
  3. Ajax: 一个建立Web应用的新途径 [转]
  4. 360图书馆破解代码
  5. python制作天气预报软件(UI界面)
  6. 关于maven的plugin插件问题(踩坑)
  7. (附源码)springboot车辆管理系统 毕业设计 031034
  8. easy_x是实现钟表
  9. 大一c语言考试题信阳师范学院,zhaodapeng6
  10. 基于springboot的化妆品美妆销售商城网站