有时候根据需要我们常会从网上下载参考资料,然而一些参考资料页面中常会含有一些水印信息,这些水印常会给我们的使用造成麻烦。本文提出一种使用MATLAB软件批量去除水印的方法,将大大提高去除水印的效率!

本文共分为3个小节:

1.PDF文件批量转化为图片;

2.MATLAB批量去除图片水印;

3.图片批量转化为PDF文件。

1.PDF文件批量转化为图片

PDF文件无法直接在MATLAB中进行处理,需要先转换为图片格式,常见的图片格式有.jpg、.bmp、.png等。PDF批量转化为图片的方法有很多中,如果不想麻烦安装软件或者文件不是保密文件的话可以选择在线转化。

PDF文件在线批量转化为图片的网址:http://app.xunjiepdf.com/pdf2jpg

具体操作步骤如下图所示。

Java PDF水印字体颜色setColorFill_matlab 二值化

2.MATLAB批量去除图片水印

还记得上篇文章《如何将图片转换成只含元素0和1的图像》中介绍图片二值化的方法嘛?

本文去除水印就利用图片二值化的原理,通过阈值设置将颜色较浅的水印设置成白色,从而完成去除水印的操作。

使用在线PDF批量转化图片之后生成的图片名称命名规则可能不方便下文调用处理,故可以使用MATLAB脚本批量修改图片名称,代码如下。

for page=1:9    % page为图片在PDF文件中的页数
   filename=strcat('C:\Users\Administrator\Desktop\主轴箱工艺_IMG\0_0',num2str(page),'.jpg');
    Pic=imread(filename);
    imwrite(Pic,strcat('C:\Users\Administrator\Desktop\主轴箱工艺_IMG\',num2str(page),'.jpg'));
end

去水印的代码如下所示,本文选用的是自己设置图片二值化的阈值,你可以选择程序自动获取阈值。

Java PDF水印字体颜色setColorFill_matlab 图像二值化_02

代码批量去除水印的过程如下图所示,非常迅速!

Java PDF水印字体颜色setColorFill_matlab 二值化_03

3.图片批量转化为PDF文件

去除水印之后的图片可以通过PhotoShop软件直接批量转化为单个的PDF文件。具体操作过程如下图所示,在此不再赘述。

在这里需要注意的是图片的添加顺序,这样可以保证最后生成的PDF文件与原始PDF文件拥有相同的页码。另外,页面的排列顺序也可以在PhotoShop中进行调整。

Java PDF水印字体颜色setColorFill_html自动给图片加上水印 代码_04

Java PDF水印字体颜色setColorFill_matlab num2str_05

动手能力强的童鞋可以写成一个APP,方便以后直接调用哟!

去除图片水印的方法有很多哦,请大家不要拘泥于形式,根据自己的实际情况合理选择适合自己的处理方法。(✪▽✪)