首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >标记医学图像

标记医学图像
EN

Stack Overflow用户
提问于 2020-03-30 16:04:56
回答 2查看 85关注 0票数 1

我想从我的医疗数据中提取基本事实。我在找一个能帮上忙的程序。我想做的事情如下。我想要选择一个特定的区域并将其设置为白色,而在另一个区域中将其设置为黑色。这样我就能掌握事实真相了。图片中有一些例子。注:我没有地面的事实,只有原始图像没有地面的事实。我需要从原始图像中绘制和提取此区域...enter image description here提前感谢您的帮助。

enter image description here

EN

回答 2

Stack Overflow用户

发布于 2020-03-30 16:39:40

让我们将您的图像拆分为两个组成部分,首先是image.png

第二,mask.png

现在,您可以在终端中使用ImageMagick,而无需编写任何代码。你有几个选择。您可以执行以下任一操作:

  • 使蒙版的黑色部分在结果中透明,或
  • 使蒙版的黑色部分在结果中变黑。

让我们首先使它们透明,所以我们有效地将蒙版复制到图像中,并将其视为alpha/透明层:

代码语言:javascript
运行
复制
magick image.png mask.png -compose copyalpha -composite result.png

现在让我们通过选择原始图像和每个像素位置的蒙版中较暗的一个来使它们变黑-因此是darken混合模式:

代码语言:javascript
运行
复制
magick image.png mask.png -compose darken -composite result.png

请注意,如果使用第一种技术,看起来透明的原始信息仍然存在于图像中,并且可以检索-所以不要使用这种技术来隐藏机密信息。

如果要在PIL中使用Python中的透明度方法,可以执行以下操作:

代码语言:javascript
运行
复制
from PIL import Image

# Read image and mask as PIL Images
im = Image.open('image.png').convert('RGB')
ma = Image.open('mask.png').convert('L')

# Merge in mask as alpha channel and save
im.putalpha(ma)
im.save('result.png')

或者,使用OpenCVNumpy的透明度方法

代码语言:javascript
运行
复制
import cv2
import numpy as np

# Open image and mask as NMumoy arrays
im = cv2.imread('image.png')
ma = cv2.imread('mask.png', cv2.IMREAD_GRAYSCALE) 

# Merge mask in as alpha channel and save
res = np.dstack((im,ma))
cv2.imwrite('result.png', res)

如果要对Python和PIL/Pillow使用blacken方法,请使用:

代码语言:javascript
运行
复制
from PIL import Image, ImageChops

# Read image and mask as PIL Images
im = Image.open('image.png').convert('RGB')
ma = Image.open('mask.png').convert('RGB')

# Choose darker image at each pixel location and save
res = ImageChops.darker(im, ma)
res.save('result.png')

如果要对OpenCV和Numpy使用blacken方法,请使用上面的代码,但将np.dstack()行替换为:

代码语言:javascript
运行
复制
res = np.minimum(im, ma[...,np.newaxis])
票数 3
EN

Stack Overflow用户

发布于 2020-03-30 22:04:45

我强烈推荐ITK - SNAP来完成这项任务。您可以手动为输入图像添加某些标签(在示例中,1表示前景,0表示背景),并可以非常轻松地导出地面实况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60926313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档