本期介绍利用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