python - 在python中显示原始图像像素而不是掩码
问题描述
我有一个深度学习模型,它返回给我一个数组,当这样绘制时
res = deeplab_model.predict(np.expand_dims(resized2,0))
labels = np.argmax(res.squeeze(),-1) #remove single dimension values, gives the indices of maximum values in the array
plt.imshow(labels[:-pad_x])
(上面的最后一行只是在绘制之前删除了一些不清楚的线)
看起来像这样
原图是这样的
当我做
print(labels[labels>0])
print(labels.shape)
print(len(labels))
我明白了
[12 12 12 ... 12 12 12]
(512, 512)
512
我想在原始图像中显示蒙版出现的彩色像素并将其他所有内容变为黑色(或模糊或我将选择的其他颜色),我该怎么做?
解决方案
尚不完全清楚标签数组如何在这里工作。假设它在猫和狗所在的位置包含大于零的值,您可以使用以下内容创建蒙版图像,
mask = lables > 0
newimage = np.zeros(image.shape)
newimage[mask] = image[mask]
我根据原始图像创建了一个零图像,并设置了标签大于零的原始像素。
推荐阅读
- pandas - Pandas 加入(合并?)数据框,只保留唯一的索引
- regex - 如何用sed替换双引号字符串中所有变量之前的所有美元符号?
- python - 找不到满足 SoundRecognition 要求的版本
- odoo - Odoo 分离销售点类别以供多公司使用
- wikipedia - 直接获取维基百科原始标签?
- javascript - 如何创建管理员并允许访问 node.js 中的管理面板?
- c# - 在单击 DataGridView 的 TextBox 中显示数据
- python - 替换word中的字母
- javascript - Angular D3 理解 attrTween 函数
- c - 循环移位密码