1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 使用opencv去除水印

使用opencv去除水印

时间:2019-11-04 11:55:16

相关推荐

使用opencv去除水印

使用opencv去除pdf水印

实现去除pdf水印思路所使用的工具和库核心代码

实现去除pdf水印

pdf水印在每一页的大小位置相同

水印颜色与正常字体颜色稍微浅些

思路

pdf转图片

制作水印蒙版图

去除水印

根据水印蒙版图找出原图的水印位置

只对水印部分处理

合成图片

图片转pdf

所使用的工具和库

Adobe Acrobat 9 Pro

Pycharm

python

opencv

PIL

numpy

核心代码

def levelsDeal(img, img2):"""img: 原图img2:水印蒙版图"""thresh = cv2.inRange(img2, np.array([40]), np.array([200]))scan = np.ones((5, 5), np.uint8)cor = cv2.dilate(thresh, scan, iterations=1)img_array = np.array(img, dtype=int)h1, w1, _ = img_array.shapeh2, w2 = cor.shapeh = min(h1,h2)w = min(w1, w2)print(cor.shape)img_array = img_array[:h,:w,:1].reshape(h, w)cor = cor[:h,:w]# 找出有水印的地方,有水印的为1remove_watermark = cor/255*img_array# 利用色差去除水印,根据实际情况自己修改#img_array = np.minimum(img_array, 100).astype(np.uint8)remove_watermark = np.clip(remove_watermark*4-140, 0, 255).astype(np.uint8)# 原图水印部分去除img_array[cor > 0] = 0# 原图与去水印部分叠加img_array = np.clip(img_array+remove_watermark, 0, 255).astype(np.uint8)return img_array

参考

简单!Python+OpenCV三步去除水印

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。