加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
hog.py 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
fs 提交于 2023-06-14 14:06 . first commit
import cv2 as cv
from skimage import feature
import numpy as np
import time
from joblib import dump,load
import yaml
import os
import sys
# 获取 0_setting.yaml 中的键 key 对应的值 value
def get(key):
with open("0_setting.yaml","r",encoding='utf-8') as f:
config=yaml.safe_load(f)
value=config[key]
return value
# 预处理图像, 把图像设置为指定大小之后,展平返回
def preprocess_image(file_name, new_size):
# 1. 读取图像灰度图
img=cv.imdecode(np.fromfile(file_name,dtype=np.uint8),-1)
img=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
img=cv.resize(img,new_size,interpolation=cv.INTER_NEAREST)
#2.hog滤波
img=feature.hog(img,orientations=9,pixels_per_cell=(8,8),cells_per_block=(2,2))
#print(img.shape)
return img
# 用joblib把叫做 name 的对象 obj 保存(序列化)到位置 loc
def dump1(obj, name, loc):
start = time.time()
print(f"把{name}保存到{loc}")
# 此处序列化对象
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 load1(name, loc):
print(f"从{loc}提取文件{name}")
# 此处反序列化对象
obj=load(loc)
return obj
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化