1 Star 0 Fork 123

孙德家/hed_autocanny

forked from mynameisi/hed_autocanny 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
hed_autocanny.py 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
William Wang 提交于 2023-04-19 09:02 . init
import cv2
import matplotlib.pyplot as plt
from util import CropLayer, get_hed, auto_canny
IMG = 'img/pebbles.jpg'
img_rgb = cv2.imread(IMG, 1)
img_gray = cv2.imread(IMG, 0)
# 通过HED算法获取图像的边缘图
hed = get_hed(img_rgb)
# 基于hed得到图像的最佳sigma的边缘图以及相关设定
edge_img,setting,plot_xy = auto_canny(img_gray,hed)
# 获取最佳sigma, 最小的MSE, 上下限
best_sigma,min_mse,lower,upper = setting
# 获取实验过的所有sigma列表作为x轴,每一个MSE列表作为y轴
sigma_values,mse_values = plot_xy
# 绘制结果
fig, axs = plt.subplots(1, 4, figsize=(20,5))
# 在第一个子图中显示原始图像
axs[0].imshow(img_rgb)
axs[0].set_title('Original', fontsize=15)
axs[0].axis('off')
# 在第二个子图中显示原始图像
axs[1].imshow(hed,cmap='gray')
axs[1].set_title('HED', fontsize=15)
axs[1].axis('off')
# 在第二个子图中显示使用最佳sigma值得到的边缘检测结果
axs[2].imshow(edge_img, cmap='gray')
axs[2].set_title(f'Best Sigma: {best_sigma:.3f}\nMin MSE: {min_mse:.3f}\n[{lower}, {upper}]', fontsize=15)
axs[2].axis('off')
# 在第三个子图中绘制MSE与Sigma的关系曲线
axs[3].plot(sigma_values, mse_values, label='MSE')
axs[3].set_xlabel('Sigma')
axs[3].set_ylabel('MSE')
axs[3].set_title('MSE & Sigma', fontsize=15)
axs[3].legend()
# 显示子图
plt.tight_layout()
plt.show()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lavender_1_0/hed_autocanny.git
git@gitee.com:lavender_1_0/hed_autocanny.git
lavender_1_0
hed_autocanny
hed_autocanny
master

搜索帮助