画出论文中《Variance-aware attention U-Net for multi-organ segmentation》的图1,也就是在原图上画出mask和pred的位置。
新建一个文件夹
然后运行代码:
import cv2
import os
from os.path import splitext####第一次:把GT(绿)放在原图上
###第二次:把pre(红)放在第一次输出的图片上
###需要保证预测输出的图片和原图大小一样(256*256)if __name__== '__main__':# image = cv2.imread('./image/02_4.png') ###在原图上画masks轮廓, 绿# mask = cv2.imread('./mask/02_4.png')image = cv2.imread('./first/02_4.png') # 在原图上画masks轮廓, 红mask = cv2.imread('./mask/02_4.jpg')print(image.shape)print(mask.shape)newwidth = 256newheigh = 256res_mask = cv2.resize(mask,(newwidth,newheigh))print(res_mask.shape)# file_name = splitext(cur_dir_files[i])[0] + "." + "tif"# binary_mask = cv2.Canny(mask, 30, 100) # Canny边缘检测算法binary_mask = cv2.Canny(res_mask, 30, 100) # Canny边缘检测算法mask_contour = cv2.findContours(binary_mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE) # 获取轮廓cv2.drawContours(image, mask_contour[0], -1, (0, 0, 255), 1) # 在原图上画masks轮廓;红# cv2.drawContours(image, mask_contour[0], -1, (0, 255, 0), 1) # 在原图上画masks轮廓;绿# cv2.imwrite('./first/' + './02_4.png', image)cv2.imwrite('./second/' + './02_4.png', image)