利用文字识别批量去除文字类型水印。
本帖最后由 xiaoxue 于 2019-3-4 20:49 编辑简单点的思路 。
图像转换jpg -> post 到 baiduAi -> 返回识别的文字(带坐标)-> 根据返回的坐标Image.new() 生成个#FFfff背景的图像->利用Image.paste() 把#fff图像覆盖住水印# -*- coding: utf-8 -*-
from aip import AipOcr
import time
import random
import sys,re
import requests,json
from PIL import Image, ImageDraw,ImageFont
import base64
# """ 你的 APPID AK SK """
APP_ID = xxx'
API_KEY = 'xxxx'
SECRET_KEY = 'xxxxx'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
a = client.accurate(image)
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
def Wordfilter(words, arr):
for str in arr:
if words.find(str) >=0:
return True
return False
for juzi in a['data']['words_result']:
filterKey = [‘股票学习网','股票','股票学习','股票学','习网','www.']
if Wordfilter(juzi['words'],filterKey):
cropZB = juzi['location']
left = cropZB['left']
top = cropZB['top']
right = left + cropZB['width']
bottom = top + cropZB['height']
TC_img = Image.new("RGB",(cropZB['width'],cropZB['height']),"#FFFFFF")
im.paste(TC_img,(left, top, right, bottom))
im.save(file)
处理前:
处理后:
一些小技巧:
im.resize((w*2, h*2),Image.ANTIALIAS)
im.resize((w*3, h*3),Image.ANTIALIAS)
im.resize((w*4, h*4),Image.ANTIALIAS)
通过修改 宽和高: 来提高 文字识别的准确率度。
处理完后im.resize((w, h),Image.ANTIALIAS).save('xx.jpg')
现在已经进入 ai niche 站时代了,楼主有什么好玩的吗, 我在做采集翻译语音自动上传youtb一条龙的自动化站 好玩的? 最近研采集用百度ai做文章分类 tag 内链 去水印啥的。 youtube不审了 没得搞吧。 楼主发的好玩啊 blockmoon 发表于 2018-9-15 23:19
楼主发的好玩啊
多交流~ 紫薯补丁 facebook号专家 发表于 2018-9-19 09:03
楼主 漏脸了。。。哈哈
? fb小号咋卖的。 最近也在搞采集翻译建站,用翻译出来可读性一般:'(
页:
[1]