版权
配置Typecho
文本识别能力项目实战笔记,内容原创,转载请注明来源!
前言
早在去年参与苹果iOS 15
内测中体验其在全局融入的文字识别能力以及相册场景文本搜索功能时,我就想给自己的博客也实现搜索图片中所含文本的功能。受限于当时的时间和技术条件,这个想法一直处于“挂起”状态。
恰好上个月微信在其新版本也发布了聊天内容中的图片文本搜索功能。刚好寒假期间对PaddlePaddle
深度学习框架做了些许研究并在本地部署了OCR
项目。择日不如撞日,昨天晚上一口气把这套“前端”逻辑以Python
脚本的形式实现了出来。
程序代码已公开,可能存在不足之处与优化空间,希望各位大佬能在看过本文后不吝赐教。
配置
新增Typecho
数据表字段:
ALTER TABLE `typecho_contents` ADD `ocr` TEXT NULL AFTER `views`;
修改Typecho
搜索逻辑(1189行):
安装用到的Python
包
pip3 install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
代码
其中xxxxx
应换为自己的对应信息:
# -*- coding: utf-8 -*-
# @Author : soarli
# @Date : 2021/4/6
from datetime import datetime
import os
import time
import requests
import re
import pymysql
# <功能选项>
# 是否更新所有信息的OCR结果(False则仅对未OCR的文章执行OCR操作)
updateAll = False
# 处理每张图片请求后的冷却时间(秒,防止因频次限制导致漏掉部分图片)
cool = 5
# <数据库及网站配置相关信息>
# 数据库地址
host = 'xxxxx'
# 数据库用户名
user = 'xxxxx'
# 数据库密码
password = 'xxxxx'
# 数据库名
database = 'xxxxx'
# 博客域名
target = 'https://xxxxx.xxxxx.xxx/'
# <全局变量>
# OCR接口地址
url = "https://xxxxx.xxx/xxxxx"
# 全局请求头
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36','referer':target}
upload_data = {
"name": "1.jpg", "type": "image/jpeg"