代码拉取完成,页面将自动刷新
同步操作将从 mynameisi/hed_autocanny 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。