pandas - 从分割的图像中选择一些对象
问题描述
我有一个像下面这样的分割图像,其中每个对象都有不同的像素值(即实例分割。这是使用 skimage.measure.label 实现的。如何从该图像中选择特定对象。例如,我会喜欢所有对象标记为 11、12 和 13 以保留其标签或标记为 1,而其他所有内容都将分配像素值 0。
解决方案
你可以很简单地用 Numpy 做到这一点:
#!/usr/bin/env python3
import numpy as np
from PIL import Image
im = Image.open('start.png').convert('L')
na = np.array(im)
# Make any pixel less than 11 or greater than 13 become zero
na[(na<11) | (na>13)] = 0
Image.fromarray(na).save('result1.png')
# Reload unmodified image for second method
na = np.array(im)
# Make any pixel outside range black, any pixel in range white
res = np.where(((na<11) | (na>13)), 0, 255).astype(np.uint8)
Image.fromarray(res).save('result2.png')
开始图像
结果1
结果2
推荐阅读
- microsoft-translator - 文档翻译器无效密钥
- javascript - 将值传递给在方法中的每个 for 循环之后
- java - 想要使用 WebView 转到 PDF 中的特定页面
- reactjs - 使用 Jest 测试 React 应用程序,使用 Vite 作为模块 Bundler;import.meta 错误
- html - 使用标签进行导航是否违反了 ARIA 规范?
- jenkins - 詹金斯 cli 使用
- python - 为使用 threading.Timer 的函数编排测试用例
- javascript - 检查文本编辑器或prime ng p-editor中的空格或仅空格
- r - 将过滤器选项更新为闪亮的 DT::renderDataTable 中已应用的过滤器,同时所有数据都在因素中
- python-3.x - 屏蔽整个df