1 Star 0 Fork 0

刘文静/书法识别APP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
util.py 1.67 KB
一键复制 编辑 原始数据 按行查看 历史
刘文静 提交于 2024-05-29 13:59 . 作业
# 引入必要的库
import time
import numpy as np
import yaml
import cv2
import os
from skimage import data, color, feature, exposure # 分别用于加载数据,颜色空间转换,特征计算和图像的对比度处理
from joblib import dump as joblib_dump, load as joblib_load
# 获取 0_setting.yaml 中的键 key 对应的值 value
def get(key):
with open('0_setting.yaml', 'r' ,encoding='utf-8') as file:
data = yaml.safe_load(file)
value = data[key]
return value
# 预处理图像, 把图像设置为指定大小之后,展平返回
def preprocess_image(file_name, new_size):
# 1. 读取图像灰度图
img = cv2.imdecode(np.fromfile(file_name), cv2.IMREAD_GRAYSCALE)
# 2. 调整图像大小为 new_size
img = cv2.resize(img, new_size, interpolation=cv2.INTER_AREA)
# 3. 计算HOG特征,orientations为方向的数量,pixels_per_cell定义了每个单元格的大小,cells_per_block定义了每个块的大小,visualize=True表示需要返回HOG图像
hog_edge = feature.hog(img, orientations=9, pixels_per_cell=(8, 8), cells_per_block=(2, 2))
return hog_edge
# 用joblib把叫做 name 的对象 obj 保存(序列化)到位置 loc
def dump(obj, name, loc):
start = time.time()
print(f"把{name}保存到{loc}")
joblib_dump(obj, loc)
end = time.time()
print(f"保存完毕,文件位置:{loc}, 大小:{os.path.getsize(loc) / 1024 / 1024:.3f}M")
print(f"运行时间:{end - start:.3f}秒")
# 用joblib读取(反序列化)位置loc的对象obj,对象名为name
def load(name, loc):
print(f"从{loc}提取文件{name}")
obj = joblib_load(loc)
return obj
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liuwenjing2/calligraphy-recognition-app.git
[email protected]:liuwenjing2/calligraphy-recognition-app.git
liuwenjing2
calligraphy-recognition-app
书法识别APP
master

搜索帮助