本期介绍利用MATLAB从office文档中自动提取图片。
当我们想要从word中保存一张图片到本地时,通常的做法是右击图片>另存为,或者直接截屏>保存。以上过程可能会遇到两个问题:
•存储某些格式时图片被压缩,损失部分精度;
•图片数量太多时,不可能逐个手动点击(比如图图在翻阅师兄的大论文时,想要将其中的大部分图片都单独保存下来);
作为一门优秀的编程语言,MATLAB可以快速地帮我们实现自动保存图片的功能,并且不会损失任何的精度。
直接运行下方(主)函数,即可在指定的路径下生成提取好的所有图片。
main_extPic.m
% 函数说明:批量提取.docx文件与.pptx文件中的图片,无损
% !.doc与.ppt格式需转换,但可能不支持
% !output_dir是图片输出路径,不会被新文件覆盖,需手动删除
% !点击-运行后选择被提取的文件即可
% ! 如遇文件被占用,请试试更换文件位置
% 编写环境:WIN R2016a
% 编写时间:2021.9
output_dir = 'C:\Users\****\Desktop';
extPic(output_dir);
除了提取中的图片外,中的图片也可以顺利提取。
以下是主要代码的运行顺序
extPic.m
function extPic(output_dir)
% 原始文件-绝对路径
% 转换压缩文件-绝对路径
% 生成-压缩文件
% 解压缩文件
% 提取图片数据+移动到指定文件夹
% 删除临时文件夹
编写的原理并不复杂,主要涉及到文件的、等操作。
以一个文件为例,我们按照如下的步骤进行设置:
•1 勾选扩展名复选框
•2 将后缀改为
•3 解压后在路径即可找到所有图片
MATLAB做的工作(extPic.m函数)便是将上述过程程序化。采用其它的编程语言也相仿。

关注公众号:图通道 回复 提取图片 下载文中代码
MATLAB交流群:1129425848
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...