语义分割的标签在原图像上显示
语义分割的标签在原图像上显示
最近在做医学图像的语义分割,新手一枚,现实情况是小朋友我真得有很多问号【手动捂脸哭】。经过一段时间的钻(tuo)研(fa),终于有了些许眉目,也有时间在这里记录一下自己的一些想法。这篇博客主要介绍一种将最终标签在原始图像上显示的思路,在此之前
语义分割的标签在原图像上显示
最近在做医学图像的语义分割,新手一枚,现实情况是小朋友我真得有很多问号【手动捂脸哭】。经过一段时间的钻(tuo)研(fa),终于有了些许眉目,也有时间在这里记录一下自己的一些想法。这篇博客主要介绍一种将最终标签在原始图像上显示的思路,在此之前在网上查了好多,换了几种思路【新手总是要尝试些弯路,手动狗头】,希望有帮到也正在为这个问题发难的你。废话不多说了,上干货。
原始图像记为pic,分割后得到的标签图像label_pic,这两部分往往是单独的两个图片,或是两个数组。为了使分割结果更直观我们往往需要将标签在原始图像上进行显示,并希望显示的标签为彩(pic往往是灰度图),不建议在原始图像上做修改,原因略。下面介绍我用的方法:
1. 要解决的第一个问题:将label图像上的非标签区域进行透明化,同时把标签区域设置为橙(随意选择)。将标签数组(由于某些设计的需要和方便起见,我这里的标签是数组格式)转换为RGBA格式图像,因为RGBA格式图像可以修改透明度
from PIL import Image
import numpy as np
def show_label(label):img = Image.fromarray(np.uint8(label)) #我这里的label是数组形式,所以要改为图像格式img =( RGBA ) #转换成 RGBA格式x, y = img.sizefor i in range(x):for j in range(y):color = img.getpixel((i, j))Mean = (list(color[:-1]))if Mean < 255: # 我的标签区域为白,非标签区域为黑color = color[:-1] (0,) # 若非标签区域则设置为透明else:color = (255, 97, 0, 255) # 标签区域设置为橙,前位为RGB值,最后一位为透明度情况,255为完全不透明,0为完全透明 img.putpixel((i, j), color)return img
以上代码参考借鉴:
2. 把pic和步骤1转换出来的img一起显示就OK啦。
import matplotlib.pyplot as plt
new_label = trans(label)
plt.imshow(x, cmap= gray )
plt.imshow(new_label)
plt.show()
先简单记录下吧,以后有时间再讲的详细些。
感觉只要是语义分割的标签在原始图像上显示都可以采用这个思路,希望有帮到其他新手ヾ(◍°∇°◍)ノ゙,感谢点赞支持呀!
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2024-02-10 06:01:44
推荐阅读
留言与评论(共有 7 条评论) |
本站网友 梦幻西游防沉迷 | 22分钟前 发表 |
0 | |
本站网友 永州培训 | 29分钟前 发表 |
感觉只要是语义分割的标签在原始图像上显示都可以采用这个思路,希望有帮到其他新手ヾ(◍°∇°◍)ノ゙,感谢点赞支持呀! | |
本站网友 美国人均收入 | 17分钟前 发表 |
) # 若非标签区域则设置为透明else | |
本站网友 愉悦 | 5分钟前 发表 |
0 | |
本站网友 偸拍换女卫生巾 | 30分钟前 发表 |
将标签数组(由于某些设计的需要和方便起见,我这里的标签是数组格式)转换为RGBA格式图像,因为RGBA格式图像可以修改透明度 from PIL import Image import numpy as np def show_label(label) | |
本站网友 狂犬病病毒 | 19分钟前 发表 |
j))Mean = (list(color[ |