1 Star 0 Fork 123

张奋博/hed_autocanny

forked from mynameisi/hed_autocanny 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
util.py 2.20 KB
一键复制 编辑 原始数据 按行查看 历史
William Wang 提交于 2023-04-19 09:02 . init
# 该函数使用预训练的 HED (Holistically-Nested Edge Detection) 模型来检测图像中的边缘。
# 通过使用 OpenCV 库加载模型并传递输入图像,该函数生成并返回二值化的边缘检测结果。
# 参数:
# img_rgb (numpy.ndarray): 输入的 RGB 图像,图像尺寸应为 (height, width, 3)。
# blur_window (int, 可选): 用于对输入图像和边缘检测结果进行高斯模糊的窗口大小。默认值为 5。
# scalefactor (float, 可选): 输入图像在创建 blob 时的缩放系数。默认值为 1.0。
# 返回:
# hed (numpy.ndarray): 二值化的边缘检测结果,图像尺寸与输入图像相同。
# 示例:
# >>> img = cv2.imread("example.jpg")
# >>> hed = get_hed(img)
# >>> plt.imshow(hed)
def get_hed(img_rgb,blur_window=5, scalefactor=1.0):
# TODO
return hed
# 该函数通过比较输入的灰度图像与 HED 边缘检测结果之间的均方误差 (MSE),自动选择最佳的 Canny 边缘检测阈值参数。使用最佳阈值参数计算最终的边缘检测结果。
# 参数:
# img_gray (numpy.ndarray): 输入的灰度图像,图像尺寸应为 (height, width)。
# hed (numpy.ndarray): 使用 HED 模型生成的边缘检测结果,图像尺寸应与输入灰度图像相同。
# 返回:
# edge_img (numpy.ndarray): 使用最佳阈值参数生成的 Canny 边缘检测结果。
# best_params (tuple): 包含最佳阈值参数的元组,格式为 (best_sigma, min_mse, lower, upper)。
# best_sigma: 为具有最低MSE的sigma值
# min_mse: 最低的mse值
# lower, upper: 用best_sigma进行canny时的上下限
# plot_data (tuple): 包含用于绘制 MSE 与 sigma 值关系图的数据,格式为 (sigma_values, mse_values)。
# sigma_values: 所有测试过的sigma_value,建议范围从0.001到1.0实验100个值
# mse_values: 对于每一个sigma的mse值
# 示例:
# >>> img_gray = cv2.cvtColor(cv2.imread("example.jpg"), cv2.COLOR_BGR2GRAY)
# >>> hed = get_hed(cv2.imread("example.jpg"))
# >>> edge_img, best_params, plot_data = auto_canny(img_gray, hed)
# >>> plt.imshow(edge_img)
def auto_canny(img_gray,hed):
# TODO
return edge_img,(best_sigma,min_mse,lower,upper),(sigma_values,mse_values)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zzut-z/hed_autocanny.git
git@gitee.com:zzut-z/hed_autocanny.git
zzut-z
hed_autocanny
hed_autocanny
master

搜索帮助